Make ham: The night before serving ham, untie it and trim off all but a thin layer of fat. In a small bowl, mix garlic, rosemary, salt and pepper. Rub all over ham. Place ham in a large roasting pan, cover and refrigerate overnight.
Make compote: Combine peaches, brown sugar, ginger, salt and pepper in a large, heavy saucepan. Bring to a simmer over medium heat, stirring. Simmer, stirring occasionally, until peaches are tender, 20 minutes. Transfer to a bowl and cool. Chill, tightly covered, until ready to use.
Preheat oven to 425°F. With a sharp knife, score a crosshatch pattern into fat and skin on ham. Using kitchen string, tie ham back into its original roll. Place ham, fatty side up, on a rack in roasting pan.
Roast for 15 minutes. Lower oven temperature to 350°F, cover ham loosely with foil and roast for 2 to 2 1/2 hours. Remove foil and continue to roast until an instant-read thermometer inserted into thickest part registers 150°F, 30 minutes. Transfer ham to a carving board, cover and let sit for 20 minutes.
Slice ham and serve with compote.