I've bought a lot of eggs online, and I don't think 3 weeks is reasonable at all. Even if the seller only had one hen laying, they ought to have collected 7 in 14 days. Also, remember that fertility rates can drop off sharply beyond 10 days so you want the freshest.
In my experience, I've received hatching eggs between 7-10 days at the latest. Was this via eBay or through someone's direct website?