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 particularly important — while 301 redirects used to lose a small amount of PageRank, that's no longer the case. 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.