In a food processor combine the onion, 2 tablespoons olive oil, orange juice, half of the garlic cloves, serrano pepper, oregano, cumin, paprika, salt, and black pepper; process until smooth.
Reserve about ⅓ of the marinade in a separate container; put in the fridge and save it for serving.
Pour remaining marinade in a large separate mixing bowl or dish, and set aside.
Cut slits into the pork shoulder roast. Fill each slit with remaining cloves of garlic.
Place roast in the dish with the marinade and turn to coat. Cover and refrigerate for 1 to 8 hours.
When ready to cook, remove roast from the fridge about 20 minutes prior to cooking.
Remove pork from the marinade and drain off any excess liquid.
Select the “saute” button on your Instant Pot and add the remaining 2 tablespoons of olive oil.
To the heated oil, add the pork roast and brown on all sides; remove roast from IP and set aside.
Carefully pour in the chicken broth and stir all the browned bits from the bottom of the instant pot.
Return roast to the IP; lock lid and pressure cook on HIGH for 60 minutes.
Release pressure naturally for 10 minutes, then do a quick release.
Remove roast from the instant pot and transfer to a cutting board; shred the pork with two forks or meat-shredding claws. Serve with rice, tortillas, lime wedges, cilantro, and reserved marinade.