Whisk together the olive oil, lime juice, minced garlic, chili powder, smoked paprika, salt, and pepper in a shallow dish. Pat the steak dry and rub the marinade all over; let rest at room temperature for about 15 minutes while you preheat your pan.
Heat a heavy skillet or cast-iron grill pan over medium-high until very hot. Add the oil or butter, then place the whole ears of corn in the pan. Turn occasionally, letting the kernels char in spots—about 8–10 minutes total. Remove and let cool slightly.
While the corn cools, sear the steak in the same hot pan. Cook 3–5 minutes per side for medium-rare (time will vary with thickness). Transfer to a cutting board and loosely tent with foil; let the steak rest 7–10 minutes so juices redistribute.
Slice the charred corn off the cob with a sharp knife into a bowl. Toss the warm kernels with 1–2 tablespoons of the cotija, a pinch of chili powder, and a squeeze of lime if desired.
Make the crema by stirring together the mayonnaise and sour cream until smooth; thin with 1–2 teaspoons of water or lime juice if needed and season with a pinch of salt. Reserve a tablespoon of cotija to finish the tacos.
Thinly slice the rested steak across the grain. Briefly warm the corn tortillas in the hot pan for 20–30 seconds per side until pliable and slightly charred.
Assemble tacos: spread a spoonful of crema on each tortilla, top with a generous spoonful of charred corn, several slices of steak, a sprinkle of crumbled cotija, cilantro, and a few diced red onions. Dust lightly with chili powder and finish with a lime wedge.
Serve immediately while warm. Leftover steak is great chopped and refrigerated for up to 3 days; reheat gently and assemble fresh tacos as needed.