Best way to isolate workloads in a multi-VPC AWS environment without adding too much routing complexity?

I am setting up an AWS environment with three VPCs (prod, staging, and dev), and we want to add two more for a new project.

VPC peering is how the VPCs are connected right now, but the routing is getting messy because of overlapping CIDRs and too many manual updates.

Before this gets out of hand, I’m looking into whether we should:

  • go to a Transit Gateway,

  • change to AWS Cloud WAN, or completely change the layout of the VPC.

My goals are:

  • keep workloads separate,

  • stay away from complicated routing tables,

  • lower latency between VPCs,

Has anyone here moved from a peering mesh to a TGW or Cloud WAN?

What was the hardest part, and what do you think would work best for long-term growth?