Primeiro, você deve ter várias sub-redes públicas e múltiplas privadas.
As rotas para as sub-redes públicas devem ter 0.0.0.0/0 segmentando o IGW, o que você não menciona na sua pergunta.
As sub-redes privadas podem fazer o mesmo - 0.0.0.0/0 deve segmentar o VGW.
Como a rota local não pode ser editada e aponta para o bloco CIDR para toda a VPC, se você quiser restringir o acesso entre sub-redes públicas e privadas, precisará ter ACLs de rede em suas sub-redes para negar tráfego indesejado. O mesmo mecanismo pode ser usado para restringir o tráfego proveniente da VPN.