Preheat the oven to 450°F. If you're stuffing the leg of pork, pack the stuffing into the cavity where the large leg bone was. Tie the roast together.
Flavor Step - Combine all the ingredients for the rub in a small bowl. Rub the herb mix on any exposed meat. If you are not stuffing it but have boned it, rub the cavity and any meat surfaces well with the herb mix and tie the roast together. If you have removed the skin, cut off the excess fat and rub the herb mix all over the surface of the meat. If you are a skin lover, brush the skin all over with a clean wire brush and/or pierce it all over with a skewer or tip of a knife so that there are literally hundreds of tiny punctures in the skin. Make 2-inch gashes through the skin at intervals all over the leg. Rub the herb mixture into the gashes but not onto the skin itself. Basically you want to season any exposed meat, not skin, with the herb mix.
Place the roast, skin side up if it is still on, fat side up if it is not, in a shallow roasting pan and put it in the lower third of the oven. After 15 to 20 minutes, lower the heat to 325°F. Check the roast--it should have started to brown. Turn the roasting pan around to ensure even browning. Do not baste the roast, as this will prevent the skin from crisping. Continue to roast for 3 more hours, then begin checking the internal temperature. After about 4-3/4 hours total cooking time, the internal temperature in the center of the meat should be about 145°F. At this point, transfer the meat to a large platter and cover it loosely with foil. Let it rest for 30 to 45 minutes for the juices to equilibrate and the temperature to rise. (This step is essential for any large roast.) After 15 minutes, the internal temperature of the roast should be above 150°F; after 30 minutes, it should reach 155°F. While the roast is resting, you can prepare your side dishes and make the gravy.
To make the optional Pan Sauce: Pour all the drippings (there will be quite a lot of fat) into a glass measuring cup or a fat separator. Remove and discard the fat, leaving behind plenty of brown meat juices. Add the herbs, garlic, and stock to the roasting pan and place it over low heat. Scrape up any browned bits from the bottom of the pan. Pour this liquid into a small saucepan. Put in the optional port wine and bring the sauce to a boil. Reduce it over high heat for a few minutes. Stir in the cornstarch mixture and boil the sauce until it begins to thicken. It should have the consistency of cream but not be too thick. Taste for salt and pepper.
To carve the roast, remove the cracklings if you've left the skin on, cut into small pieces, and serve separately. Carve the roast into thick slices and let the guests add their own gravy.