I upgraded to Vue 3 and Pinia and my project got 2x cleaner.
Vue 3 was designed with large complex projects in mind. Vue 2 is probably easier to grok when starting out or for small projects but the functional modularity, typescript integration, and reduced boilerplate with 3 really starts to show in large projects.
I did it slowly over a year and besides having to wait for some dependencies to catch up it was mostly painless.
Although the biggest pain-reduction was getting to use Vite instead of Webpack (shudder). The build tools not sucking is so critical when doing front end dev.