Pat pork dry with paper towels; season liberally with barbecue rub on all sides.
Heat the vegetable oil in a large Dutch oven over medium heat. Brown the pork on all sides, taking care not to get the oil too hot. Remove the meat to a platter.
Add onions and garlic to the pot. Cook, stirring occasionally, until the onions are tender (about 10-15 minutes). Stir in 1 ½ teaspoons salt, Dr. Pepper and barbecue sauce. Nestle the pork shoulder in the pot (fat-side up). Cover the pot.
Roast the pork shoulder in a 325°F oven for about 4-5 hours, basting with cooking liquid every hour or so (if possible). The pork is done when the meat is falling off the bone (an internal temperature of about 205°F).
Transfer the pork to a large cutting board or rimmed sheet pan. When it's cool enough to handle, shred the meat with two forks (discarding fatty pieces), and return to the pot with the juices. Serve on rolls with additional barbecue sauce and coleslaw, if desired.
Crock Pot Method
Place the onion and garlic in the bottom of a slow cooker.
Pat pork dry with paper towels; season liberally with barbecue rub on all sides. Nestle the pork shoulder in the slow cooker on top of the onions (fat-side up). Add 1 ½ teaspoons salt, Dr. Pepper and barbecue sauce. Cover and cook on LOW for 10-12 hours, or on HIGH for 5-6 hours, until the pork is fall-apart tender.
Transfer the pork to a large cutting board or rimmed baking sheet. When it's cool enough to handle, shred the meat with two forks (discarding fatty pieces), and return to the pot with the juices. Serve on rolls with additional barbecue sauce and coleslaw, if desired.
Notes
Searing the pork before adding it to the liquid and other ingredients helps to brown the surface and enhance the flavor. A hot pan can create a golden, caramelized crust through a process called the Maillard reaction, and will also lock in the meat's juices.
The cast iron Dutch oven is always my preference over the Crock Pot, if you have a choice between the two. With the Dutch oven, you can sear the meat on the stovetop and move the entire pot to the oven for braising later. The tight-fitting lid traps moisture in the pot, and the cast iron distributes the indirect heat from the oven more evenly than the heating element in a slow cooker does. Finally, it's easier to control the oven temperature and time when using a Dutch oven than it is to control the temperature of your Crock Pot.
If you're using the Crock Pot, you may need to adjust the cooking time, depending on how hot your slow cooker runs (and how big your pork is). The pork will be fall-apart tender when it reaches an internal temperature of 205°F.
If your pulled pork is tough, it's probably because you haven't cooked it long enough. The collagen in the meat is what keeps it tough, so you need to allow plenty of time for those fibers to break down. Just extend the cooking time and make sure that there's enough liquid to keep the pork moist as it simmers.
Cooking for a Smaller Family? This meat freezes really well! I like to package leftovers in individual containers, label them, and stash them in the freezer for later meals. The pulled pork is delicious served on sandwich rolls, but it also works well on salads, tacos, stuffed in baked potatoes, in quesadillas, or on pizza! Get creative and enjoy the leftovers in a variety of ways.