@Scott- Try these might help;
1.Check the speedo cable near the speedo, make sure its coming down straight from the speedo and there is no bend there. A little bit is ok.
2.Undo the cable from down and rotate the wheel, check the speedo drive assembly for any missing rotation or hesitation.
3. Pull the inner speedo cable from down and inspect if it got a weak link or about to break.
4. If above does not help then for a last resort get a drill machine, fix the speedo cable onto the drill machine and spin it in reverse for around 5 minutes. Usually it cures any erratic speedo behaviour. Don't use a drill with more then 1500 RPM.