I have a good shop and take my cameras in about 2-3 times a year depending on how much I am shooting. I can clean my D300 but have some trouble with the full frame cameras. One thing I do is to mount a lens on each camera and try to avoid changing them too often. Usually I put up with the spots until I get thoroughly pissed. My shop charges around $40 per sensor. I did twice go to a dealer who did a really thorough cleaning for $140. The cameras came back dirtier than I brought them in. I don't go there anymore.