I would learn to do it manually as it can come in handy. Pretty simple to do, plenty tutorials rather than relying on the host.
Various ways to do it and some quicker but require more knowledge, this is by far the easiest:
Download full existing WP install from the public html folder via FTP
Export the existing MySQL database from phpmyadmin area in cpanel in gzip format
Upload the WP install via FTP to the new public html with your new host / different domain.
Create a new MySQL database via cpanel (make a note of the database name, username and password)
Once created import the gzip database you downloaded into using the import function.
Back to FTP and edit wp-config.php and replace the old db name, username and password with the new ones you just created. Host is usually localhost. But sometimes an IP address if you're on a cloud based system.
If you are moving domains like you said, then you will need to edit 2 lines in the wp_options table (site URL and home url I think they are called as I've forgotten off the top of my head) and replace the old domain name with the name domain name.
Site should load fine. I always login and resave permalinks in my desired format too.