Make sauce. Combine mayo, sour cream, chili powder, salt, lime juice. Stir until smooth and set aside.
Prepare milk bath. Fill a large pot big enough to hold the ears of corn about 3/4 of the way full with water. Add milk, sugar and epazote. Place over medium-high heat and bring to a simmer, stirring to dissolve the sugar.
Cook corn. Add corn and bring to a boil. Boil 1 minute for super fresh corn and 2-3 minutes for older corn. Turn off the heat, cover and let sit anywhere from 5-30 minutes.
Coat with toppings. Remove the corn from from the pot one ear at a time. Shake off excess liquid and spread soft butter on all sides. Season with salt. Cover with chili-lime sauce, I use a small spatula to spread the sauce on pretty thick. Sprinkle with cheese all over then sprinkle with cilantro. Drizzle with avocado crema, if using.
Enjoy! Serve with lime wedges and lots of napkins.