Cut and season the pork: Cut the pork shoulder into 3–4 large chunks. Pat dry with paper towels.
In a small bowl, mix all dry rub ingredients. Coat the pork on all sides and press the rub in so it sticks.
Sear for flavor: Set the Instant Pot to Sauté (High). Add oil.
When hot, sear pork pieces in batches until browned on at least two sides, about 2–3 minutes per side. Transfer browned pieces to a plate. Don’t overcrowd the pot.
Deglaze the pot: Pour in the broth and use a wooden spoon to scrape up any browned bits.
Stir in apple cider vinegar, barbecue sauce, and Worcestershire.
Pressure cook: Return pork to the pot. Lock the lid and set the valve to Sealing. Cook on High Pressure for 60 minutes.
For a 5-pound roast or thicker pieces, go up to 70 minutes.
Natural release: Let pressure release naturally for 15 minutes, then quick release any remaining pressure. This helps keep the meat tender and juicy.
Shred the pork: Transfer pork to a large bowl. Shred with two forks.
Skim excess fat from the cooking liquid in the pot. Taste the liquid and adjust with a pinch of salt or a splash of vinegar if needed.
Moisten and simmer: Return the shredded pork to the pot with about 1–1.5 cups of the cooking liquid. Stir in an extra 1/4–1/2 cup barbecue sauce for gloss and sweetness.
Set to Sauté (Low) for 5–10 minutes to let it soak up flavor.
Toast the buns (optional but recommended): Lightly butter buns and toast them in a skillet or under the broiler until golden. This keeps them from getting soggy.
Assemble: Pile pork onto buns. Top with coleslaw, pickles, and more barbecue sauce to taste.
Serve warm.