Yeah, most web hosting companies want your business so if that means they need to transfer your files for free to convert you into a paying client, this is what they'll do.
Like mentioned above, the only time a host would charge for this is when having to spend extra time restoring very large backups or when transferring data from some companies custom panels (Like GoDaddy) to the industry standard (Arguably) cPanel used by most Linux based hosts.
Just look around for a few hosts you are interested in. Then just ask them if they will do this. In todays economy most hosts will do this without having to be talked into it. Might be through control panel operations or simple syncs, all else fails ftp and download. I know you will be happy with what you find when asking most hosting companies.
Good Luck with your search but focus on other areas of what you need from a host as this issue will be easy to find a host for.
Mosts hosts will do this - correct- but there are alot of factors that will add to the time it takes. The amount of content, different file paths that might need to be changed, databases, configuration issues, different panel migrations etc. They are not always easy and do take time to do it correctly. Make sure you provide logins before they sign off to do it so they can get a scope as to what needs to be done- and how long.
As many have stated, many web hosts will do this for free. However it is very important you contact the host you plan on migrating to before hand to get some reassurances that they will be able to make a seamless migration for you. Depending on who you are hosted with, the size of your site and what platform they are running, the migration can get a little tricky or time consuming.
I got my website files and databases worth 1GB transfered a day after I moved to MDDhosting. Their level 1 tech support staff moved the site from iPage within an hour which doesnt even use cPanel. I just had to give them my ftp username/password/hostname.
Many hosts offer free migration though I doubt how many of them will really tranfer your sites especially if its large and requires expert knowledge. Always read their ToS. Most of the time they require your old host to use cPanel in order to transfer your site from them. So, choose a decent host that doesnt offer UNLIMITED everything.