Webmaster's Tools has been pretty good to me regarding telling me about 404s I may have missed after a migration, but using the tactic I described really limits missed URLs, assuming you have a good grasp on the subdirectories of your site.
Phasing is an option, but say, in the case of a redesign or domain migration, I like to do it all at once. That way Google isn't trying to index the website on two different URL structures or domains. Doing it in one shot makes it clear to Google what has happened, since everything is now moved, instead of just a fraction at a time. I'm sure this is a point of debate, and not necessarily the definitive way to do it.