What is most efficient way to migrate wordpress website?

I use All-in-one WP Migration. It handles the database search/replace automatically, and lets you specify what parts of the site to export.

Upload can be troublesome sometimes, but if you ftp the .wpress file to /wp-content/ai1wm-backups/ you can import from the backup instead of uploading through the plugin interface.