Usually it is quite straight-forward, although it doesn’t always work smoothly, but this is what I do:
1. Backup the database on your computer.
2. If the domain name is changed, do a search and replace on it in the database.
3. Set up a new database in the new hosting account, and import your backup.
4. Upload your WordPress files to the hosting account. Make sure you change the database credentials in your config.php file to match your new database.
5. Start up your site and it should work. (You will probably have to reset the permalinks. To do this, go to the permalinks under settings in your dashboard, set them back to default and save. Then redo the setting you had before and save again.)