When mine stopped, I took it to the LBS, who I trust and was there while he was on the phone with the Shimano rep. So while a flush and lube might have worked, these two guys seemed to know what they were doing. Mechanical, BTW. I was told that it was a worn cam or gear or something like that.
Assuming the gunk hypothesis, what is the preventive maintenance for this? A WD-40 flush?