3 cups coarse fresh breadcrumbs made from six ½-inch-thick slices rustic white bread
3 cups Madeira
Arrange a rack on lowest level of oven; pre-heat to 300°. Without trimming fat, remove outer rind from most of ham, leaving a band around end of shank bone. Spacing cuts ¾" apart to make a diamond pattern, score fat on top of ham crosswise and then lengthwise on a diagonal (do not cut into meat). Place ham in a large roasting pan. Pour 3 cups water into pan and roast ham for 2 hours.
Meanwhile, stir brown sugar and mustard in a medium bowl until a thick paste forms; set aside. Heat oil in a large skillet over medium heat. Add breadcrumbs; toast, stirring often, until very crispy, 5–7 minutes. Set aside.
Remove ham from oven; increase temperature to 350°. Spread half of sugar-mustard paste over scored top of ham. Bake until an instant-read thermometer inserted into thickest part of ham registers 145°, about 1 hour. If pan juices have dried out, add 1 cup water to pan.
Remove ham from oven; increase temperature to 400°. Spread remaining sugar-mustard paste over ham and pack breadcrumbs all over top.
Bake ham until crumbs are deep golden brown and crisp, 12–15 minutes. Transfer ham to a serving platter; let rest for 20 minutes before carving.
Line a fine-mesh sieve with cheesecloth. Set sieve over a medium pitcher or gravy boat. Spoon off fat from surface of juices in pan; discard. Add Madeira to pan. Place roasting pan over medium-high heat and simmer liquids briskly, scraping up browned bits, until sauce thickens and is reduced to 2 cups, about 15 minutes. Strain sauce through prepared sieve, pressing on solids; discard solids.