2004 Toyota Corolla • 1.8L 4 cylinder 2WD Automatic • 50,000 miles

I was driving the other day on the freeway and looked down and the speedo read 20mph. I was going about 60mph. It hung there for about 10 miles and then released to a normal reading. It is still clocking miles accurately (i recorded 19 miles from my office, my exact commute). Everything else seems fine. I am concerned that I am going to have to replace the entire cluster and since the vehicle only has 50k miles I don't want to ruin the value. So do I have to replace the cluster or is there some sort of speedometer solenoid/sensor that can be replaced? Or a way to set the proper mileage after replacing cluster.
July 15, 2014.

Have you checked the vehicle speed sensor (VSS)?