My 04 Silverado shows 4 miles fast just like my 00 Accord.
NOTHING is wrong with them. It is called TOLLERANCE. Built in as there are different tire and wheel sizes possible on most cars, so rather than recalibrate the speedo every time there is a slight intollerance. Completely normal on ALL cars!
,Might be a liability thing, I've noticed it on my cars too.
I notice a lot of Japanese cars like Toyota, Nissan and Honda that shows that you are going slower than you are really going. For example my job has brand new Rav4s and I own a 96 Avalon and my speedometer is off by 3mph. Proof of that is my gps and "your speed" signs show the same speed of 30 when my car says my. Or the rav4 would say 60 but really going 57. I noticed every American car is right. What could be wrong with Japanese speedometers?