Make the spice rub: combine smoked paprika, brown sugar, kosher salt, garlic powder, onion powder, black pepper, chili powder, and cayenne (if using) in a small bowl until evenly mixed.
Prepare and season the pork: pat the pork shoulder completely dry with paper towels. Rub the spice mixture generously all over every surface. For best results, wrap and refrigerate for at least 1 hour or overnight.
Prepare the slow cooker: scatter chopped onion evenly across the bottom, add minced garlic on top, then place seasoned pork on top, fat side up if visible.
Make and add the cooking sauce: whisk together BBQ sauce, apple cider vinegar, chicken broth, Worcestershire sauce, yellow mustard, honey, and liquid smoke. Pour evenly over and around the pork.
Cook low and slow: cover and cook on LOW for 8-10 hours or HIGH for 5-6 hours. Do not lift the lid during cooking. Pork is ready when fork-tender and internal temperature reaches 200-205°F (93-96°C).
Shred the pork: transfer pork to a cutting board or sheet pan, rest for 5-10 minutes, then shred using two forks or meat claws. Discard large pieces of fat, gristle, or bone.
Skim the cooking liquid and return the pork: skim fat from the surface of the cooking liquid. Return shredded pork to the slow cooker and stir into the remaining liquid. Taste and adjust with additional BBQ sauce, vinegar, or salt if needed.
Finish and serve: cover and cook on LOW for an additional 30-60 minutes to absorb sauce. Serve hot on buns, over rice, in tacos, or however you like.