I have replaced the gear switch indicator on my /12 model 3 times in 12,000 miles. Each time, it only solves the problem for a short while. I washed them out with brake cleaner, but that had little effect, and only for a short while. The last time I washed it out, I used carb cleaner - this helped immensely, and it lasted all summer - but it is just now starting to act up again. To me, the malfunctioning seems to have something to do with oil levels, oil type, oil weight, and oil contamination. The unit usually acts up when cold, and starts to behave better once things are thoroughly warmed up. Unfortunately, most of my commutes are short.
No long term solution has been found.
I even took one completely apart. It was unusable afterward, but I do know what is inside. There is nothing in there that you would not expect - a few contacts, and a spring loaded wiper. It is just susceptible to contamination and wear.