Bag fish singly if sending them by mail. This is to prevent them hurting each other. Also if one fish dies in a bag containing several individuals, the water quality will decline so badly that you will lose them all.
Generally you put the fish in the biggest bag available with enough water to cover it comfortably. Use only real fish bags as other bags are too flimsy, and often tough plastic bags contain residues and are not suitable for shipping fish. Double dose the bag with Ammo-lock to prevent ammonia buildup in shipping. Fill the space in the bag with pure oxygen, or clean air if you have no oxygen. Seal the bag with two rubber bands and ensure that it does not leak. Place the bag, upside down (tied end down) into another identical bag, seal this bag also. If the fish has spines (loricariid catfish or puffers etc) or you are afraid it may puncture the bag, put a layer of wet newspaper between the bags.
The other option with shipping bags is Kordon breathing bags. When using kordon bags they are usually heat sealed (this is preferable with any bag). Use just enough water to cover the fish, as the closer its gills are to the plastic, the better the breathing bag works. Leave no air space unless shipping anabantids or corydoras, in which case leave a tiny bubble. Use loads of ammo lock, some people quadruple dose with so little water. If using kordon bags only double bag if you are really worried about the fish puncturing the bag. Also ensure they do not touch during shipping. Wrap each bag in newspaper before packing it in the box because if the kordon bags are touching they will not breathe.
Pack the fish in a box bigger than the bag and fill the space in the box with material like polystyrene chippings or that puffed rice stuff that we used to eat in primary school. If it's cold include a heat pack in the box. Remember that water is heavy - you should not pack so many bags in a box that it becomes heavy because this increases the risk of it being dropped, harming the fish. Seal the box securely and label it CLEARLY on all sides with LIVE FISH and arrows indicating the correct way up. On top of the box include a label with instructions (like keep out of direct sunlight, do not drop, fragile, handle with care etc. Make sure you state several times that the package contains live animals.)
Use the fastest mail service available. It is rarely worth skimping on shipping. If you are shipping very valuable fish or a lot of fish, consider engaging a courier - it often works out at a similar price where a lot of packages are involved and it's safer. In my opinion it is not fair to the species or the hobby to risk the lives of breeding specimens of rare species cutting corners on shipping.
EDIT: When shipping in some locations (like between some states in the USA or sending fish overseas) you MUST make it very clear what the box contains and include copies of relevant paperwork giving permission to move the fish. Health certificates and import licenses may be required. If you do not have this paperwork, the fish will be confiscated and destroyed regardless of whether they are healthy or restricted species. If you import a fish that is not allowed into your state or country, it will be destroyed and you may get your backside fined off. Do your research before you import.