While there is no guarantee on priority mail, there is no reason why a properly addressed packaged should take more than 3-4 days to arrive anywhere in the United States.
If a package took 3 weeks, then something is very much out of the ordinary.
The reason it takes longer is because the postal service ranks right up there with fast food for incompetence. It shouldnt take three weeks but it has and does.
As an example I just sent an express package and tracking shows they delivered the package at the wrong fucking city.
It was delivered fine, no sign of tampering or anything. They simply misplaced it im sure and the guy prolly dropped a doughnut in his truck and when he reached down to beat the 3 second rule, noticed a 3 week old priority package he dropped. Priority mail is just stuffed in the mailboax and scanned at delivery (if delivery conf is used).