I use a mix of Monterey Jack, mozzarella, Cotija and Parmesan with the addition of chorizo, poblano peppers and mushrooms for texture and added flavor.
Heat a large sauté pan over medium heat, add the olive oil and heat through. Add the onion, poblano peppers and garlic and sauté until the onion is tender and opaque about 4 minutes.
Add the mushrooms and sauté until browned, about 5 minutes. Add the wine and simmer, reducing until just about evaporated. Remove the mushroom mixture to a bowl and set aside.
Return the pan to heat, add the chorizo and cook until browned, stirring occasionally with a wooden spatula to break up any large pieces. Remove the chorizo to a bowl and set aside. Use a paper towel to blot any excess oil.
Heat a medium saucepan over medium heat, add the butter and allow to melt. Add the flour, whisking to combine. Let the roux cook until a pale golden brown, about 1 to 2 minutes.
Add the milk, whisking to incorporate. Bring to a simmer so that the mixture thickens.
Slowly add the cheeses, whisking to combine until all the cheese has completely melted. Stir in the cayenne followed by the mushroom mixture and half of the chorizo.
Add the queso to a medium serving bowl and top with the remaining chorizo and cilantro.