Spark is very opinionated and difficult to modify without generating a great deal of technical debt. In other words, if you modify the actual framework, you spend many extra hours troubleshooting issues with each update. I find it best to think of Spark as a complete package to use as a part of a site. Therefore, you can build a normal site around it in a way that you choose. For instance, you can build a Nuxt frontend or plain Vue and use Spark as your backend or just as a signup/dashboard area of a subscription site.
If you want to use the Vue cli with vue-router then go ahead. You won't hurt the Spark setup one bit. Just use Spark the way it was intended and build your site around it.