Season the steak with salt and pepper, then dredge it in flour, shaking off the excess.
Brown the Steak:
In a large skillet or Dutch oven, heat the vegetable oil over medium-high heat. Add the steak and brown it on both sides, about 3-4 minutes per side. Remove the steak from the skillet and set aside.
In the same skillet, add the sliced onion and cook until softened, about 5 minutes. Add the minced garlic and cook for an additional minute until fragrant.
Deglaze and Combine Ingredients:
Pour in the diced tomatoes with their juice, beef broth, Worcestershire sauce, and dried thyme. Stir to combine and scrape up any browned bits from the bottom of the skillet.
If using, add the sliced bell pepper and carrot to the skillet.
Slow Cook:
Return the browned steak to the skillet, pressing it down into the sauce. Bring the mixture to a simmer.
If using a slow cooker, transfer everything to the slow cooker at this point.
Cover and cook on low heat in the slow cooker for 6-8 hours, or simmer on the stovetop for 1 1/2 to 2 hours, until the steak is very tender.
Serve:
Once the meat is tender and the vegetables are cooked through, adjust the seasoning with additional salt and pepper if necessary.
Serve the Swiss steak hot, ideally with a side of mashed potatoes, rice, or noodles to soak up the delicious sauce.