Preheat your oven to 300°F (150°C).
In a large Dutch oven, heat the olive oil over medium-high heat. Add the diced onion and sauté until translucent, about 5 minutes. Stir in the minced garlic and cook for an additional minute.
Season the beef chuck roast with salt, black pepper, smoked paprika, and cayenne pepper (if using). Add the roast to the pot, browning it on all sides for about 4-5 minutes per side.
Pour in the beef broth, barbecue sauce, Worcestershire sauce, and brown sugar. Bring the mixture to a simmer.
Cover the Dutch oven and transfer it to the preheated oven. Cook for 3 to 4 hours, or until the beef is fork-tender.
Remove the pot from the oven and shred the beef using two forks. Mix the shredded beef with the sauce in the pot.
Toast the hamburger buns lightly, if desired.
Serve the pulled beef on the buns, topped with coleslaw if you like.