Switch your web hosting without having your web site go down
1. Sign up for any web hosting package before cancelling your old web hosting account.
2. Download your entire old web site using a FTP program, or using cPanel backup utility. Then upload your entire web site to your new web hosting account by FTP or using cPanel backup utility again. If you are using FTP, you will need to re-chmod your folders if you are running scripts.
3. After you have moved all your files to your new account, you need to change your domain name's name servers. Make sure everything is working by using a temporary address at your new hopefully great web host before you update your nameservers. Then go to where you registered your domain name or email them directly. Update your name servers to the NEW name servers your new host emailed you when you signed up.
4. After 24-72 hours your domain will be fully propegated and pointing to your new web hosting home.
5. You can now cancel your old web hosting and your web site should be fully up and running on your new account.
And that's it, after those 5 steps, your site is fully up and running with no downtime experienced at all. In all cases it's great to backup, cPanel has a great tool to allow it.