You need to change the speedometer itself. I would change the cable too while I was in there but that is not causing your higher than normal speed or the hanging. Both of your stated problems can only come from within the speedo itself. Not even a failing cruise control can create the symptoms you have listed. Because nothing can keep the drive cable spinning when you slow down and nothing can make the drive cable over rev to make your speedo show a high number. Change your speedo.