It's really not as difficult as some folks make it out to be. Fish are shipped within the industry all the time...every day and all year long. But at the hobby level, there are a few things you might want to know and about and consider in the process.
You will want to plan ahead a little bit so that you can properly prepare the fish. Do not feed the fish for 48 hours prior to bagging them for shipping. By not feeding the fish you will give them time to eliminate waste and there will be less chance of them fouling the water in the shipping bag.
We use 1.5 mil bags for shipping most fish. For exceptionally large fish (Adult angels for example) or for fish with spines (even the cute Corys) we use 2 mil bags. We prefer to use longer bags (18inch or longer) rather than shorter ones because we tie a knot in all bags and don't use rubber bands. You can use rubber bands, we just prefer not to. The longer bags give us the length we need to tie the knot.
Generally we ship fish in separate bags...one fish to a bag. However, There are fish that ship fine when placed two to a bag (some killifish for example...groups of sub-adults or fry is another example), but most of the time we ship one to a bag. We also label the bags with the content so that the people on the receiving end will be able to tell the fish apart. Labeling may sound silly...you would expect that they would know what they are getting but the fish will often display fright coloration because of the shipping process and be hard to tell apart.
We use a minimal amount of water to ship the fish in. Usually there is about 1/3 of the bag with water and the rest is air. We use O2 to fill the bag for most fish, but there are some fish that do well when we use regular air. We pump the O2 into the bag, but we "catch" the air in the bag, twist and then tie. The first bag is left slightly less than "balloon taunt" so that it can be slipped into the second bag more comfortably.
We slip the first bag into a second bag "upside down"...so that the knotted end is going into the second bag first. When the first bag is seated in the bottom of the second bag, we twist and tie off the second bag. This forms a unit that should be round on the both ends of the inside bag. The fish are not only protected from most leakage but they are also not as likely to be caught in the corners of the bags during travel. Fish can panic during shipping and lodge a mass in the corner of the bag. Corys are famous for grouping in the corners when frightened.
Some folks use conditioners when shipping. We have not found them necessary so we don't use them. However, we do use Bag Buddies, a small tablet with a combination of chemicals that help buffer the water, reduce stress and provide some medication for minor damages caused during shipping.
You may want to consider using a heat pak in the box of fish. During some times of the year heat paks are a neccessity and with some fish...during all times of the year.
We use Styrofoam boxes to ship fish. The Styrofoam should be at least 3/4" thick. Thicker Styrofoam is better as less shock will be avoided by thicker Styrofoam but don't think for a minute that thicker walls will help too much if the time it takes to ship is more than a day. The whole insulation thing is surrounded by time and temperature...too much of either and all the calculations are thrown out the window. We like to use a cardboard box that the Styrofoam box can be placed inside of. In a pinch, we make the box from sheets of Styrofoam we buy at HomeDepot. We use crumpled newspaper to fill the box. Before we place the bags into the box we put a layer of the crumbled newspaper in the bottom and try to position the bags to that none are in contact with the sides of the box. Contact with the sides of the box will lower the value of the insulation (there is none in that particular area). Boxes are shipped by weight, not by size...bigger boxes don't cost all that much more to ship unless you pack them with more fish.
One advantage of shipping using USPS Express is that the package will be delivered on Saturday, Sunday or Holidays. The packages shipped via Express are also provided with a tracking number (not always put into their tracking system on the first day however) and the packages are insured. BUT...USPS does not guarantee that the package will arrive over-night. Their Express service is a one OR two day service depending on the zip codes of the shipper and the receiving party.
Priority Mail does not include tracking numbers nor does it include insurance as part of the service. This service may take 2 or three days...it may take a week.
We used to ship all of our boxes through USPS. With their fee increases and the decline in service reliability we have opted to use FedEx as our primarly shipping partner. We have been extremely please with their service. While the service seems to be a little more expensive, we have found that the costs are very favorable when factoring in the lost packages and the dead arrivals that were routinely experienced with our former carrier. Your experience may differ.
Other services (UPS, FedEx etc.) should be consulted regarding their acceptance of fish as a cargo. Depending on who you talk to in the firm your answer may vary. All service take live fish with some sort of agreement...although the standard answer to the question, "Can I ship live fish?" is generally "No."
Service such as Air Freight Airport to Airport, while available in large metro areas can be a difficult situation for people in rural areas. The service is however very fast and can be economical for some sizes of shipments.
Regardless of the carrier you chose, you should always check the weather on both ends of the shipping route. If you know the "hub" that the carrier uses for the packages, you would be wise to check for delays at that location also. We always ship fish on Monday to avoid the possibility of delays over a weekend.