I fixed mine with a little surgery to the speedo cable, there were spots where the outer sheathing had worn away and you could see the inner cable. What I did was trim away any damaged outer sheathing, and make sure there were no bits caught in the gaps. I then sprayed WD40 into the gaps, wiped off the excess and covered the damaged areas with some duck tape. After a couple of days the needle was smooth as silk

I also found rerouting the cable helped reduce the wobble a bit, I cable tied mine to the top of the bay under the scuttle cover, keeping it away from any vibrating engine components and made sure there were no tight bends in the cable.
Note: The inner cable runs inside a spiral shaped metal core, then has a rubber outer sheath round it. When the rubber sheath wears it gets forced into the gaps in the core and rubs on the inner cable. Sounds complicated but you'll know what I mean when you see it
