I have ordered on line, and had fish shipped many times, and never had a problem with many of the known vendors mentioned above.
There "are" a few do's and don'ts that the person being shipped to, should be aware of, that will help in the healthy arrival of fish.
I use either airport to airport, (if that is available) or 24 hour guarantied only.
For larger fish, airport to airport seems best, meaning the shipper gets the fish out that same day, and the receiver goes to his or her local airport to pick the fish up a few hours later.
In that way the fish spend as little time in a box as possible, to reduce stress and possibility of fouling the bags.
For smaller fish, 24 hour works well.
But if there is an ETA of 10 AM, it means the receiver should be there at that time to receive them, and get them in a tank quickly.
If they end up sitting on a hot, or cold porch for a few hours because you can't be there for some reason, that lessens the likelihood of a successful outcome.
I usually take the day off work to receive them, or if I couldn't, had them shipped directly to my work, and did a water change on the bags there, immediately after arrival, especially if there were a number of hours left before I could get them in tank.
Or if the shipper used the USPS, instead of having the fish ride around in a hot or cold truck for a few hours, I would call my local post office, ask them to hold the box there, because I would show up at opening time to get the package myself.
One other perk of using the USPS, is if they don't arrive at the stated and guaranteed time, shipping cost would be returned, other shipper companies may not provide this service.