I had similar concerns, but found that transferring the hosting to a new provider was trivially easy:
(a) Via your old provider's admin backend, request an "authentication code". The provider automatically requests that code from the domain registry and displays it within a couple of minutes. This is a one-time code which authorizes you (or a third party) to request changes to the domain.
Yes, but for one, that assumes that the old provider cooperates. And also ...
(b) In your new provider's admin backend, ask them to transfer the domain to their hosting service. You give them the authentication code, which they in turn provide to the registry, with the request that DNS entries are switched over to their servers. The time until DNS actually got switched over was between 30 minutes and a couple of hours in my case, and it only happened on weekdays, so there is apparently a manual step involved.
.... that doesn't guarantee a seamless transition.
First of all, how long the name server re-delegation takes depends on previous TTLs. If the old provider has a 24 hour TTL for NS records, for example, the switchover takes up to 24 hours.
But also, there is a ton of stuff that can cause problems with that sort of switchover. For example, when you have transferred the domain to the new hoster, but some sender's outbound mail server still has the old MX record cached (again, depends on TTLs), and therefore connects to the MX of your old provider. What happens with that email? Does the old hoster reject it as undeliverable because they don't see themselves as responsible for the domain anymore? Do they accept it and put it in some IMAP folder that you can't access anymore because your account has been deactivated? ...
What about outbound emails? If the target mail server still has SPF records of your domain cached, they might reject your emails or put them into the spam folder because they come from a supposedly unauthorized outbound server.
And similar things for all other services that you might want to use.
If you have domain registration (and DNS hosting) separate, you can easily switch over the MX to a new email provider, for example, without even telling your old provider about it, so that there is no problem with mails still arriving at the old provider, as you can just use both providers in parallel until all the old records have aged out.