Season the beef chuck roast with salt, black pepper, garlic powder, and onion powder on all sides.
In a large skillet, heat olive oil over medium-high heat and sear the roast for about 3-4 minutes on each side until browned.
Transfer the roast to the slow cooker.
In the same skillet, add sliced onions and mushrooms (if using) and sauté for about 5 minutes until softened.
Add the beef broth and Worcestershire sauce to the skillet, scraping up any browned bits from the bottom.
Pour this mixture over the roast in the slow cooker.
Cover and cook on low for 8 hours or on high for 4 hours, until the beef is tender and easily shredded.
Once cooked, remove the roast from the slow cooker and shred it using two forks.
In a small bowl, mix cornstarch and water to create a slurry.
Stir this into the gravy in the slow cooker and cook on high for an additional 15-20 minutes until thickened.
Return the shredded beef to the slow cooker and mix well.
Serve the shredded beef and gravy over mashed potatoes, rice, or in sandwiches.