Crappy light switches are on the list of common BX problem areas. I took mine apart to clean them out recently because my flashers would come on at random. Not a good thing, since they work even without the switch being on. (I may rewire them when (when, not if /forums/images/graemlins/tongue.gif) it happens again.)
I don't think the top of the switch is the problem. It has a nice tight rubber diaphram that helps shed water. The bottom part of the switch has holes which allow water to condense inside, pulling in dirt with it. I think this is where the fault with the switch is.