The best time to top seed your lawn is in the fall. The autumn months are when the soil is in the ideal condition for top-seeding; sandy, rocky or dry soils will be able to absorb and retain the most moisture during the autumn months and will better protect the soil from drought. Conversely, soils high in clay and moisture content can incorporate sand to balance out the moisture and provide more ideal planting conditions in the following months.
Other lawn care techniques can affect when you should top seed your lawn. If you scarify your lawn -- the process of using cleats or stakes to poke holes in the lawn -- top seeding should follow after scarification, to allow for optimum absorption of top seed soil.
The regularity of top seeding depends primarily on the quality of your lawn soil. Arid, low-quality soil should be top seeded once yearly. Quality soil can be top seeded annually as well, but it would probably be overkill unless you require an absolutely immaculate lawn.
The ideal top seeding mixture to use also depends heavily on your geographic location and the quality of your soil. A typical top seeding mixture contains three parts sand to three parts loam to one part peat, but you can add more sand to the mixture if you have very damp clay soil under your lawn. Dry, sandy soils benefit from a smaller amount of sand in the top seed mixture.