1 (6 lbs) fresh ham -bone in (or boneless pork shoulder)
1 cup sour orange (or ½ cup lime juice and ½ cup lemon juice)
½ cup dry sherry
¼ cup olive oil
2 whole garlic heads (peel off cloves)
2 onions (minced)
1 tbsp salt
1 tsp oregano
1 tsp cumin
½ tsp ground bay leaves
½ tsp ground black pepper
Using a mortar and pestle, mash the garlic with the salt, pepper, ground bay leaf, cumin, oregano and 1 tbsp of olive oil until you have a paste.
Prick the pork on different parts using a knife. Rub the pork with the garlic mixture and insert some of it into the slits.
Place the pork in a large non-reactive pot or in large plastic bag, with all the mixture. On a separate mixing bowl, pour the sour orange, olive oil, onions and dry sherry and mix with a whisk. Add the sour orange mixture to the pork, cover with a plastic wrap and refrigerate for about 4 hours or overnight.
Preheat the oven to about 350 degrees F. Use a heavy roasting pan and lightly brush it with oil. Place the pork in the roasting pan and reserve the left over marinade.
Put the roasting pan in the oven. Cook for about ½ hour, turning every 10 to 15 minutes to get a lightly golden brown color on all sides. Pour in the left-over marinade with the onions. Cover the pan tightly with aluminum foil. Reduce the temperature to 325 degrees F., and continue cooking for about 2 to 2½ hours, basting occasionally with the juices. Remove the foil in the last 15 minutes of cooking.
Cooking time is about 30 minutes per pound, or you can verify if the pork is ready by using a meat thermometer. Pork is done when the internal temperature reaches 160 degrees F (if you desire the meat medium), or about 180 degrees F., if you desire it well done.
Remove from the oven, cover with aluminum foil again, and let it rest (covered) for about 15 minutes before carving. It will continue cooking even after you remove it from the oven.
Carve the pork and serve. You may pour some of the juices on top of the meat.