Have the gown dry cleaned prior to shipping. Depending on the duration of the shipment, your gown could be traveling for a while. Do not allow any stains accrued on your wedding day permanently mar the gown by failing to clean it in time. After you receive your gown from the dry cleaner, remove it from the plastic wrapping and air it out for at least a day.
Hold your gown by the inner waistline and turn your gown's bodice upside down. This will cause the skirt to fall inside out over the top of the bodice. Doing so allows only the lining to be exposed to the outside, protecting your gown's outer layers from dirt and damage. Additionally, it ensures that the outside beading and lace are tucked away from potentially snagging zippers and straps.
Wrap a muslin panel around the bodice to separate it from the skirt. Helping to keep the two separated prevents the dress from snagging itself, and so it is particularly vital when dealing with beaded or tulle gowns.
Place muslin panels inside the skirt to act as a buffer between the layers. Fold the gown in half and place it inside a muslin bag. The bag and muslin act as a filter, preventing impurities and fabric-yellowing acid from permeating the layers and discoloring the gown. Do not use plastic packing materials, as they can trap ambient moisture (the moisture which exists in the gown when you pack it -- a particular problem for humid locales) into the gown, which can turn to mildew.
Place the muslin bag inside your suitcase and zip the bag closed. Fit the suitcase inside a packing box and take it to your local post office or courier. Insure your package. When the gown arrives at your destination, remove it from the suitcase and have it stored properly in an acid-free box.