GPS speed is highly accurate under CERTAIN CIRCUMSTANCES. GPS will measure the time between two points in 3 dimensional space to a high degree of accuracy... the problems are :
1. GPS makers do not tell us what the time interval is - so we have to assume it is quite small - The larger it is the bigger the errors that :
2. GPS works in straight line in 3D, so if you are on a bend, or a hill then you will have an error ( draw your "true" path on a piece of paper to see what I mean)
3. GPS cannot take acceleration or deceleration into account .. it works purely on the total time and total distance between sampling points.
4. A minimum of 4 good satellite signals must be present throughout the sampling period.
So .. if you are on a dead level, dead straight road, driving at a constant speed in an exactly straight line, throughout the (unknown) sampling period, with good satellite coverage, ... then your SatNav will give a good indication of your true speed.
Note the "dead level" requirement .... the surface of the earth curves ....

(the last comment is slightly facetious ... the difference caused by the earth's curvature is negligible ... but hills DO make a difference ..)
