*EDIT: beaten to it*
Speedos are usually calibrated to be faster than the actual speed because of the potential margin of error leading to drivers getting fined for speeding. If you see the same margin of difference on different cars and GPS systems this is likely the case.
What you should do is measure it at different speeds, 40mph 80mph 120mph - If the difference does not increase beyond the 7mph or so you are currently getting then I would be fairly certain that the GPS has the true speed and the speedo is clocked higher to account for this margin of error.
If the difference between GPS and speedo increases then you've probably got a problem or you're extremely unlucky
Speedos are usually calibrated to be faster than the actual speed because of the potential margin of error leading to drivers getting fined for speeding. If you see the same margin of difference on different cars and GPS systems this is likely the case.
What you should do is measure it at different speeds, 40mph 80mph 120mph - If the difference does not increase beyond the 7mph or so you are currently getting then I would be fairly certain that the GPS has the true speed and the speedo is clocked higher to account for this margin of error.
If the difference between GPS and speedo increases then you've probably got a problem or you're extremely unlucky

.