What is the best method to transfer a sharepoint site from one sharepoint install to another?
You have the following methods to move sites and site collections (there is a difference, so it helps if you know which one you're dealing with):
stsadm -o backup and stsadm -o restore. This moves site collections and not sites. Lots of people are talking about sites when they really mean site collections. This is usually the easiest method and can move data at a rate of about 15 GB/hr. If your site is the only site in the site collection, this is your best bet.
stsadm -o export and stsadm -o import. This moves sites. Not as easy to use as backup/restore, but does the trick. There are gotchas when it comes to permissioning, so make sure the site is accessible as expected after the move. You cannot import a site into a site collection where it already exists (which shouldn't be a problem in your case). You will need to make sure all customizations (templates, web parts, features, solutions) are deployed to the new site collection you are importing into otherwise it's error time.
stsadm -o mergecontentdb. This can move a site collection from one database to another. This seems more complex at first, but is easier to use than backup/restore. This moves a site collection within a farm. Create a new content database and move it to the new db, detach, and reattach the database in the other installation (farm).
Most 3rd party SharePoint backup applications have a feature to backup/restore a site to another farm.
I've used the built-in backup / restore feature to move a site to a new install. In my case it worked without any real issues. These features are available in the Central Administration app or via stsadm.
Or you can do an export/import via stsadm
To move sites or site collections to another farm, I'd go with export/import. You'll have to pre-create a (blank) site on the target farm, however. Also, pay attention to the options of those commands, like includeusersecurity and the versions to include in the export.
I would not go with backup/restore, as this can cause conflicts with duplicate GUIDs. When you restore a site to a new farm, it only creates a new GUID for the site collection. All included objects like lists and items retain their GUID. You don't need to have a (blank) site in place when using this backup/restore.
A nice comparison of the 2 processes can be found in this article.
The easiest way is to just make a backup of the content db and reattach it to the new farm's sql server, then add the content db to the web app. Full urls in content (like for instance a publishing page's link to it's pagelayout) will need to be "realligned" though. (i.e. pages etc.)
The destination farm also has to be at the same product version (i.e. service packs and hotfixes) or higher as the source farm's installation. Usually installing the latest Cumulative Update on the destination farm solves that issue.