The biggest trick to keeping a ham from drying out is to keep it securely covered in foil for the majority of the cooking. I prefer to cook my ham on a roasting pan that separates the meet from the drippings in the pan. Most recipes call for the ham to sit directly on the pan, but I’ve found that this creates a situation where part of the ham is too moist and part of it is too dry.
I always spray the rack or top of the roasting pan with cooking spray to keep the ham from sticking to the rack. I also add anywhere from one to three cups of water to the bottom of the pan, depending on how deep the pan is. Spilling this liquid is a real possibility, so don’t over fill the pan.
My preferred positioning of the ham is bone side down so that the ham self-bastes.
Once the ham is placed on the rack or roasting surface, I cover the ham tightly with heavy duty foil. While any foil will work, you will potentially be opening and closing the foil a couple of times to either reposition the ham or add liquid to the pan. Thin foil will have a tendency to rip, so I would stick with the heavy duty foil if you can.
Be sure that the foil is sealed all the way around the pan to trap any moisture and allow it to help cook the ham while keeping the entire cooking environment damp.