To prepare sauce, melt butter in a heavy-bottomed saucepan over medium heat and whisk in the flour.
Continue whisking and cook for 2 minutes.
Slowly add milk, whisking constantly.
Cook until sauce thickens, about 10 minutes, stirring frequently.
Remove from heat.
Add cheeses, salt, chili powder and garlic powder.
Stir until cheese is milted and all ingredients are incorporated, about 3 minutes.
Set aside.
Preheat over to 350° F.
Butter or oil and 8-inch (or large pan for larger recipe) baking dish.
Cook penne 2 minutes less than package directions. (It will finish cooking in the oven)
Rinse pasta in cold water and drain well.
Combine pasta and sauce in a medium bowl; mix carefully but thoroughly.
Scrape the pasta into the prepared baking dish.
Sprinkle top with cheeses and then the chili powder.
Bake, uncovered, 20 minutes.
Let stand 5 minutes before serving.