Do you own your current domain?
That’s going to be the biggest factor.
If you do, then it’s much less of a hit. Domains change ip’s all the time, and owning your name would allow for you to move providers with minimal impact.
To best preserve content, You want to first mirror the current site on the new provider.
Next, every old name link gets redirected to new-name matching link. So same page, different domain name.
From there, you can slowly change the site over. First thing would be graphics. You don't even have to change the name, just the new image with the old name if need be. Also add the new pages as well.
Then text-based name changes, maybe even a transition period where it’s “old name is now pleased to serve you as new name” type of deal.
Once the transition period is over, then you can begin cleanup of old text, text changes, etc.
That’s the basics of it, at its best. If you don’t own your current name, things can go downhill quickly in terms of how big a hit your seo takes.
You could also straddle both providers for a bit, long enough to have 301 redirects in effect for a while. Which would then work pretty close to ideal.
Not sure how deep seo can go these days, but it may help if the registration for the new and old domains, as well as any domain certificates, have the same name used for registration. I know they look at registration length, which is why the redirects help.