Open an account with the hosting company you want to go to. Create a driectory representing the name of the domain that you want to transfer.
From the existing site, download all data to your PC. Upload onto the new site into the directory you created.
Back to the existing hosting site and repoint the DNS Server addresses to the new site. Usually the DNS Address cascade happens very quickly, but can take up to 48 hours. Your site should remain available throughout most of this process.