I had cause to do a longish ride to an unfamiliar area yesterday so used my RAM mounted phone as a sat nav. If the speed displayed by the sat nav was accurate then the speedometer on the dash reads about 9% high. That's pretty poor, In my opinion.
Think Speedos have a permitted up to 10% tolerance for reading over the limit, but are not allowed to read under. Phone may be more accurate but the 2 systems work differently in that your speedo shows your current speed and the GPS calculates it based upon the last 2 readings.