Stab several different spots all over the pork shoulder then place the garlic slivers in all the holes.
Place the pork in a large zip lock bag.
Pour the orange juice, zest, lime juice, zest, finely chopped cilantro, oregano, garlic, cumin, sea salt, freshly cracked pepper, and olive oil in a bowl and mix well to combine.
Set aside (and refrigerate) 1/2 cup of the marinade (mojo sauce) for serving.
Pour the remaining marinade over the the pork.
Place in the refrigerator for 24 hours.
Remove the pork from the refrigerator at least 1-2 hours before roasting.
Also, set out the remaining reserved marinade (mojo sauce) on the counter so it can come to room temperature before serving with the pork.
Preheat the oven to 300 degrees.
Heat an oven safe pot or Dutch oven heavy bottom over medium-high heat.
Once hot, remove the pork from the marinade (reserve the marinade for cooking) and add to dutch oven.
Sear on all sides until golden brown, about 2 minutes per side.
Turn off the stove and remove the pot from the heat.
Allow the pork to cool down a bit, then pour in the reserved marinade + a cup of water.
Place a lid on the pot and place in the preheated oven.
Roast the pork for 2 hours then remove the lid and continue roasting for another 2-3 hours, or until the pork is falling off the bone and shreds easily.
Remove the shoulder bone and any fatty pieces from the meat then shred the pork in the pot and toss with the sauce in the pot.
Serve with rice and black beans along with the remaining marinade (mojo sauce). Enjoy!
Side Note: If the top of your roast is getting too dark, add a loose tinfoil tent to the top of the Dutch oven. Also, if at any point throughout the cooking process the liquid in the Dutch oven gets lower than 1 inch, add about 1/2 cup water to keep liquid in the pot.