Place the fish on a large baking sheet and pat dry with paper towels. Squeeze fresh lime juice over the fish and let sit while you prepare the other ingredients.
In a small bowl, combine the chili powder, cumin, smoked paprika, garlic powder, salt and pepper. Set aside.
To make the slaw, combine the cabbage, carrots, apple cider vinegar, honey, salt, and pepper in a large bowl. Toss well and set aside.
To make the lime crema, combine the sour cream (or Greek yogurt), lime juice, cilantro, salt, and pepper. Set aside.
Sprinkle the seasoning mixture evenly on both sides of the fish, making sure it is well coated.
In a large cast iron skillet, heat the oil over medium-high heat. Add the fish to the hot pan and cook for 2 to 4 minutes. Flip and cook for an additional 2 to 4 minutes, or until fish is cooked through. The fish is done when it is opaque all the way through and breaks apart easily. Time will vary depending on how thick your fish is.
Transfer the cooked fish to a platter and use a fork to gently break it into large chunks.
To assemble the tacos, place a few pieces of fish in a warm tortilla. Top with a little cabbage slaw, lime crema, avocado, jalapeño slices, pickled red onions, and cotija cheese, or your favorite toppings. Serve lime wedges on the side and serve immediately.