First, since cars' meters estimate the speed based on the rpm of your tires to calculate the speed and distance traveled, a lot of factors affect the speed reading on the meter: tire wear, tire pressure, meter calibration, car-to-car variation, etc.;
Second,I heard manufactures design the meter with some tolerable variation, let say 5%. Any meter is OK if it's within 5% difference from the average. Also, car makers tend to be on conservative side to over estimate rather under estimate speed;
Third, I heard Honda is famous for over estimating speed/distance. It can be in 5-10%. You can search the net to find user comments. A friend of mine drives a Camry with old tires and a brand new Pilot on the same road by commuting to work found the difference is 10% with Honda overestimating the distance traveled. Needless to say Camry may already over estimated the distance.
I would trust GPS. Car's speed is a pretty rough estimate. I also experience about 2-3 mph difference between car's speed meter and GPS. I am driving Toyotas.