I'm a fan of database migration.
You need to have a plan for dealing with any web controls, web parts
or customized pages. You can deal with them before or after the
migration.
Write a program to inventory the site so you don't have to guess
where they are.