Transferring (downloading and uploading) lots of small files via FTP can take a long while. Compressing them into a big zip file will make the transfer itself happen much faster. You can then unzip the archive at the new host. This can usually be done with the tools in most control panels.
Assuming both hosts use cPanel, you could create a full backup of your account, give your new host access to it, and ask them to restore it on your new account. Not all hosts may agree to do this for free.