Whisk together the juices, oil, spices, and sliced garlic. Now put the ham in a bag large enough to hold it and pour in the marinade. Tie up the bag. Let this marinate in the refrigerator for at least 2 days and up to 4 days.
Preheat oven to 325 degrees F.
Take the pork out of the marinade and put it into a Dutch oven or roasting pan, fat-side-up. Cover and cook for 1 1/2 hours. Turn it fat-side-down, cover and cook another 1 1/2 hours. Turn the meat one last time and cook 1 hour more. Now the meat should be almost falling off the bone. If it is not, it needs more time covered in the oven.
Turn up the heat to 375 degrees F and cook, uncovered, 30 minutes to brown.
Now remove the roast to a cutting board and allow it to rest a few minutes.
Pull apart the pork with 2 large forks, degrease the remaining drippings from the roasting pan and pour the jus over it. Toss and serve.