I have bought fish online four times. In all four cases, I got what I paid for and more, sometimes a lot more and top quality because i dealt with specialists and breeders. if you know exactly what you are looking for, shop around on specialist boards and see who sponsors are (there are some here as well, twofishguyz.com for instance, i bought from them last week and they were excellent). those are usually the dedicated, experienced guys who know their fish and exactly what they are selling and honestly love the hobby. many of them also have aquabid accounts. I'd much rather deal with folks like that then places like live aquaria where you don't know if the person filling your order knows an a. panduro from a baby oscar except whats labeled on the tank.
I've had them shipped DHL, Fedex and USPS. all arrived fine overnight. the experienced guys know how to pack em. your also better off ordering as close as you can to your location, but the overall transit time won't change to much. Also, be aware of your local delivery times, i made the mistake of using DHL for the first time and found out they deliver here at 5 to 5:30 instead of 10:30 for fedex. thats 7 extra hours of in transit time. Bone up on your quarantine and acclimation procedures, I usually spend at least an hour and a half on slow drip acclimation, do not under any circumstances risk osmotic shock. be prepared to set aside most of the day to receive the shipment as well and thoroughly read the sellers conditions. most have a requirement that you send a photo of a dead fish in an unopened bag within two hours of the first delivery attempt, anything else voids it for a credit towards a replacement, but NOT shipping. Not all of them have those terms but its pretty common so read carefully, and they may ship only on certain days.