They are easy to restore is you are handy with that sort of thing and can solder well.

The biggest issue is corrosion that leads to bad connections.
The internal electrical connections are accomplished via brass rivets and these tarnish/corrode leading to resistive connections.
What I have done successfully is to take the dimmer apart, run a small brass wire brush over each rivet until they are shiny (so they will take solder), then flow solder over the rivet head and surrounding metal.

Before you start, if you were to take an ohm meter and read the resistance through the riveted connections, you will see higher then normal readings. After soldering you will see less than half an ohm which is your goal.
The contact that turns on your dome light touches the case (ground) when you turn the knob. Clean this contact with an emery board (nail file) just enough for a shiny contact. Measure that with an ohm meter to verify less than half an ohm to ground.

Also clean the rehostat winding if dirty and the contacts that ride on it.

Then ideally use this spray to clean and protect it all:

http://www.amazon.com/CAIG-DeOxit-Cleaning-Solution-Spray/dp/B0002BBV4G

This stuff is considered the best.

To get the dimmer apart, there is a push on sheet metal nut/clip on the center shaft (on the back side) pry this off.
It may not be usable afterwards but I replaced it with a small C-clip as I recall.

Spend some time before tearing into it and understand how it works, take ohm readings etc.