You should be able to make an almost seamless transition.
A few things (just in case your new host doesn't tell you):
Backup everything!
When you find your new host, don't transfer your domain or cancel your current until you get everything working on your new account. You should be able to work on your new host without changing your domain over. That way if there is a problem, your site is not unavailable.
Backup everything!
You may need to have your new host install your SSL if you are not comfortable doing it your self or their setup doesn't allow it. you will have to check with them.
Backup everything!
When you switch your domain to the new server, sometimes it can take up to 72 hours to fully propagate. During that time, your site may appear and disappear randomly. Normally it should take 24 to 48 hours, but allow up to 72. If you still encounter problems after that, contact your tech support.
Backup everything!
You should be able to set up emails to match what you have now. Just be aware that your new email might not work until your domain has fully transferred over to the new server. As a failsafe, you might temporarily change your site's contact emails over to a non-hosting email account (like a yahoo or other ISP account, don't use a free account like hotmail) and possibly set up a mail forward at your old host during the transisition. That should allow you to continue to receive your email until everything has fully transferred and any bugs are worked out.
If you use paypal (or actually, any payment gateway), make sure you are not using a hosted email account for your payments and notifications. If so, get that switched over to a permanent non-hosting account. Email is potentially one of the top issues on almost any host as, depending on your hosting providers setup, email is usually one of the first things to go when there are server issues.
Backup everything!
And you will have server issues. Even if your host manages to hit their 99% uptime (I think the average is around 96-98%, but don't quote me on that), that is still around 7 hours per month or 80+ hours per year downtime (based on 30 day month and if my math is working this morning).
If your new host has a support forum, be sure to join it. If there is a "server status" or announcements thread, I would suggest subscribing. This will alert you to any potential or current technical problems. Might not be before your customers notice, but at least you will know if the problem is with your site or the server and can respond accordingly.
And, just in case I forgot to mention it: Backup everything!
Best of luck and success in your business.