I cured this as follows;
Remove instrument pack (it just pulls out until you can reach behind to unscrew the speedo cable, then there should be enough slack on the wiring so you don't have to disconnect anything else)
Run a few drops of oil (I used EP90 like for the diff) down the inside of the cable.
Put it all back together.
'08 Chrysler 300CRD (MB OM 642 engine)
'95 E220 estate
'89 230TE (R.I.P.)