How do I prevent a route change and then, at the same time, move to another route?

In my case there is no user yet registered so the only available route would be the user registration. So no matter where the user tries to navigate the application should take the user to the user registration route.

I came across can-interrupt but I don’t know if it is still the recommended mechanism.

Are you using pushstate? There are internal setup and tear down methods you could use to turn off the routing connection. There’s also the replaceState methods that make certain URLs use replace instead of pushState.