Preheat oven to 450 °F. Roast sweet corn until it’s slightly charred in places and tender, about 15 minutes, turning a few times while it roasts.
In a large bowl mix together cornmeal and buttermilk and let sit. Let this sit for at least 10 minutes.
When corn is done roasting cut the kernels off the cobs. Add kernels from two ears to a food processor and pulse until mostly smooth but some chunks are fine. Save the kernels from the third to mix into the batter later.
Preheat a 12-inch cast iron skillet in the oven. Let it heat for at least 10 minutes.
Stir pureed corn and eggs into the cornmeal batter. Add olive oil, baking powder, baking soda, salt, and chili powder (optional).
Fold in grated cheese and roasted corn to the batter.
When cast iron skillet is preheated, add butter to pan and let melt. Swirl butter around the pan and then pour in the cornbread batter.
Bake cornbread for 20-25 minutes at 450 degrees F. until edges are crispy brown and center is baked through (a knife or pastry tester should come out clean).
Let cornbread cool for 10 minutes before slicing and serving. Serve cornbread with honey or butter or BOTH!