In a large skillet, heat the olive oil over medium-high heat. Add the flank steak and sear on both sides until browned, about 4-5 minutes per side. Remove the steak and set aside.
In the same skillet, add the sliced onion and green bell pepper. Sauté until softened, about 5 minutes. Add the minced garlic and cook for an additional minute.
Stir in the cumin, oregano, paprika, black pepper, and salt. Cook for another minute until fragrant.
Return the seared flank steak to the skillet. Pour in the beef broth, orange juice, lime juice, Worcestershire sauce, and add the bay leaf. Bring to a simmer.
Cover the skillet and reduce the heat to low. Let it cook for about 2-3 hours, or until the beef is tender and easily shreds with a fork.
Once cooked, remove the beef from the skillet and shred it using two forks. Return the shredded beef to the skillet and stir to combine with the sauce.
Serve warm, garnished with fresh cilantro and lime wedges if desired.