You seem to have it pretty much nailed.
The important part is having 301 redirects from all the old URLs to the corresponding page on the new site. If you're keeping your site structure the same and just changing the domain name, it's pretty easy: just set up a general redirection rule (e.g. with Apache mod_rewrite) from oldsite.com/foo/bar?what=ever to newsite.com/foo/bar?what=ever.
As Anagio suggests, it's also a good idea to try and get other sites to update their links so they point directly to the new domain. However, that's not particular important — while 301 redirects do lose a small amount of PageRank, it is, to quote Matt Cutts, "just a tiny little bit, not very much at all". A more important reason for trying to get people to update their links is that you presumably want to build some brand recognition around your new domain, and having a mess of two different kinds of links to your site floating around may interfere with that and confuse users.