In terms of supermarket brands, Cooks Hams seem to offer the best quality. They have no added water and a good, smoky flavor. The problem with hams is that they dry out quickly, so soaking them in hot water beforehand warms them up without drying them out.
7-10 lb. Ham, sirloin (shank ends are also good)
2 cups of brown sugar
1 cup apricot brandy or port
1/2 tsp. pepper
Place ham, with wrapping on, in sink or large container. Add hot tap water and allow to sit for 45 minutes. Replace water with fresh, hot tap water and soak for another 45 minutes. Preheat oven to 250F. Unwrap ham and remove plastic cover from bone. Place in an oven bag (with several slits cut in top) or cover with foil and place in shallow roasting pan on a rack. Bake 10 minutes per pound (about 1-1/2 hours). Remove from oven, increase oven temperature to 350F.
Meanwhile, add all the glaze ingredients to a sauce pan and boil, stirring constantly. Reduce heat and allow to simmer for 15 minutes, until reduced. Brush ham with 1/3 of the glaze, and return to oven for 10 minutes. Remove from oven, drain ham juices into a measuring cup, and then brush the ham with 1/3 of the glaze. Reheat the glaze if it is too thick. Allow ham to rest for 15 minutes cover with foil.
Add 1/2 c. of ham juices to saucepan with the remaining glaze and bring to a boil. Simmer for 5 minutes, or until slightly thickened. If too thick, add additional juice.
Carve the ham by slicing along the bone, and then carve into slices. Serve with sauce on the side.