Check the cable. Mine had similar symptoms and it turned out the cable was rusted inside the sheath. It would wind up then release causing the speedo to go nuts. It broke soon after.
The cable, that is....


More flags More fun!