The easiest way of keeping things in tact and that's from experience when we do our CloudyPress, a managed hosting customer migrations is to;
1.) move all files through FTP, entire directory structure, wp-admin, wp-content, wp-includes, etc...
2.) backup your MySQL or export you're database in a SQL file. Then simply use either phpmysql to import it or use ssh to populate your database. Then in your database update the two areas for your URL under or within the options table.
Everything will stay intact, plugins will be activated and setup, content, images, etc..
Hope that helps you out.