My personal preference is to use a Slice Seeder (also called a slit seeder). It'll cut grooves into the soil and deposit seed into those grooves. The seed will then have soil contact on all sides except for the top. I also recommend running the Slice Seeder across the lawns in both directions to create a checkerboard pattern. You could aerate if you wanted to but you'd really have to beat up the bare areas real good before seeding. As for top dressing, I would only do that if there were a lot of uneven areas in the soil so that they could be leveled out. Like programs, there's a 100 different ways this can be done. It's all based on personal preference, time constraints, etc.... I mean, you could bring in a bulldozer and re-level everything, rake it out, and then seed! However, do you really need to do that? LOL!