Prepare beef: Trim excess fat from the chuck roast. Season all sides with salt, pepper, smoked paprika, chili powder, and onion powder.
Sear beef (optional but recommended): Heat a skillet with oil over medium-high heat and sear beef on all sides until browned. Transfer to slow cooker.
Prepare sauce: In a small bowl, combine beef broth, barbecue sauce, Worcestershire sauce, apple cider vinegar, brown sugar, and minced garlic. Pour over beef in slow cooker.
Add onions: Place sliced onions around and on top of the beef.
Slow cook: Cover and cook on low for 8 hours or high for 4–5 hours, until beef is tender and easily shredded with forks.
Shred beef: Remove beef from slow cooker and shred using two forks. Return shredded beef to slow cooker and mix with sauce.
Assemble sandwiches: Spoon pulled beef onto sandwich buns. Top with extra barbecue sauce, coleslaw, or pickles if desired.