Moving your site to a new host needs some serious planning.
Research different hosting providers and plans
Research and find the best suitable host in your budget. webhostingtalk.com is a good place to look around.
Sign up an account and set up a testing/staging environment on the new host. No matter how close the
Set up testing/staging
No matter how similar the hosting plan the new host offers comparing with the existing one, there will always be some configuration changes that you need to watch out and test out.
A staging environment simply mirrors the current site in terms of the code base, database setup, batch jobs, etc…
Test the new site. This is a good opportunity to improve the code and add enhancement since all the functionality and features will be re-tested.
This step is mainly to test the code and environment. Although not using the actual domain name you should still be able to test the pages, emails and database setup to make sure the new site is ready.
Once you are satisfied with the new site, you can pick a "light" traffic day, for example, around holidays or weekends, to move the data of the current site over to the new host. Since the code base has been on the server already you can dump the latest database copy and upload it to the new server DB. After some quick smoking test you can flip the DNS switch at your registrar. The DNS change propagation could take up to 48 hours.
While waiting for the internet to finish its work, you can periodically check your new DNS information through dnsreport.com and spot any potential problems in the early stage.
Maintain the old site
The old host should remain up for at least 3-4 days (I'll give it a week). Since it may still have visitors (including the searching engine bots), you shouldn't shutdown your old site too early. A little trick is to make a small change on the old site, for example, add a "dash" to the footer so only you will notice. In this way, you can easily identify which site serves the page yourself. If your site takes any user input you should also monitor them and move them to the new place.