In a bowl, whisk together olive oil, lime juice, garlic, chili powder, cumin, smoked paprika, salt, and black pepper.
Place the steak in a resealable bag or shallow dish and pour the marinade over it. Marinate in the refrigerator for at least 1 hour, or up to 8 hours.
Preheat the grill to medium-high heat (about 400°F / 200°C).
Remove the steak from the marinade and let excess drip off. Grill for 4-5 minutes per side, or until it reaches your desired doneness.
Remove steak from the grill and let it rest for 5 minutes before slicing it thinly against the grain.
While the steak is resting, grill the bell peppers and onions for 5-7 minutes, stirring occasionally, until softened and slightly charred.
Warm the tortillas on the grill for 30 seconds per side.
Assemble the fajitas by adding sliced steak, grilled peppers, and onions to each tortilla. Top with cilantro, sour cream, and salsa if desired.
Serve immediately and enjoy!