Do ViteJS para o proprio CLI do CRA não são muito diferentes um do outro, apenas um ou mais arquivos de configuração diferente, a vantagem do vite é por ele ter uma abrangência de stacks a mais, como o vanilla ou solid, por exemplo, mas no fim ele ainda é um CLI de criação e configuração. Já o NextJS, é um framework completo, com o proprio CLI(Create Next App) que tem suas proprias configurações com base no React, nunca o tentei integrar com vite mas talvez dê para unir-los.
Recomendo fortemente que veja as necessidades iniciais do projeto que desejam migrar antes de definir qual o melhor, talvez um seja mais eficiente no curto prazo e o outro no longo prazo.
É mais usado o NextJS para aplicações grandes e com demanda de segurança, principalmente por causa do server side hoje, que consegue esconder o uso de pesquisas que não são desejas de forma mais fácil, porém com uma curva de aprendizado média até pegar o jeito.
Se tiver alguma duvida mais especifica, ficarei feliz em responder!