In a food processor, make the sofrito by puréeing the the cilantro, chopped onion, 10 garlic cloves, dry seasonings (minus the salt), olive oil, and juice from one lime. Pulse on high speed for 1 minute and set aside.
Remove the pork shoulder from the package and place it on a cutting board. Semi-detach the fat cap from the meat by using a sharp knife and cutting along the line where the skin meets the flesh.
Place the pork shoulder in a large bowl with the skin-side facing up. Tenderize the meat by pouring some of the white vinegar and juice from 1 lime into the opening that you created between the flesh and skin.
Return the skin to its original position and pour remaining vinegar over the pork shoulder. Fill the bowl with water and let it soak for 10-15 minutes. Drain the water and rinse the pork off under cold water. Pat dry with paper towels, make sure to also pat under the skin.
Place the pork shoulder on a cutting surface with the skin facing down. Use a sharp knife to poke 10-15 holes all over the bottom and sides. Cut the remaining garlic cloves into quarters, press 1 sliced clove into each hole and place the pork shoulder in a clean bowl.
Spread a generous amount of sofrito over the backside of the pork shoulder. Season with half the salt. Use your fingers to push the salt and sofrito into the holes that you created, and under the hind layer of skin.
Flip the pork shoulder over and peel back the fat cap once more. Use a sharp knife to poke holes into the flesh. Repeat the process of pressing in the garlic cloves into the holes and rubbing the the meat with sofrito and remaining salt. Freeze or refrigerate any sofrito that you don't use.
Wrap the marinated pork shoulder tightly in plastic and place it on a baking sheet. Let it marinate in the refrigerator for up to 3 days or at least 24 hours. Flip every 3-5 hours so it marinates evenly.
Preheat oven to 350°F. Unwrap the pork shoulder and place it in a roasting pan with the skin facing up. Add broth to the bottom of pan and roast for 6.5 hours. For the final stage of roasting, raise the oven temperature to 400°F and roast for 30-45 minutes more, until the skin is hard and crispy.
Let the roasted pernil rest for 15-20 minutes then transfer to a cutting board. Remove and cut the skin into pieces. Carve the meat using a knife or shred it using 2 forks. Serve with fresh lime juice and pan drippings.