As the others have said, your car speedo has to read higher than actual speed due to regulations to allow for discrepencies, ie: new tyres compared to old tyres. The speedo will always show the same speed due to being taken from the g/box, but the actual vehicle speed will change depending on the circumference of the tyres (depending on whether they're new or old).
I've just got a Garmin eTrex, and also have a Pocket PC GPS, and both show 65 where the car speedo shows 70, and 28 when the car shows 30.
I'm a bus engineer and did an experiment with my new GPS the other day to check it's accuracy. The buses have a speedo / tachograph which is calibrated on a rolling road, so should be very accurate when working correctly. I held the bus at 30mph, and the GPS said exactly the same, not slightly less as it does against a car speedo.
So I think you can take it that a GPS is very accurate as a speedo (at a steady speed).