Preheat and prep. Heat oven to 375°F (190°C).
Grease a 9x13-inch baking dish.
Cook the pasta. Boil in salted water until just shy of al dente (about 1 minute less than package). Drain and set aside. Don’t overcook or the casserole can turn mushy.
Warm the chicken. In a bowl, toss the chicken with 1/4 cup buffalo sauce so it absorbs flavor while you make the sauce.
Make the roux. In a large pot over medium heat, melt 3 tablespoons butter. Whisk in flour and cook, stirring, for 1–2 minutes until it smells slightly nutty and turns pale golden.
Build the sauce. Slowly whisk in milk (and broth if using).
Simmer, whisking, until thick enough to coat the back of a spoon, 4–6 minutes. Stir in garlic powder, onion powder, salt, and pepper.
Add cheeses and buffalo. Off the heat, stir in cheddar and Monterey Jack until melted and smooth. Mix in remaining 1/4 cup buffalo sauce and the sour cream.
Taste and adjust heat or salt as needed. Fold in blue cheese if using.
Combine. Add the pasta and buffalo-tossed chicken to the sauce. Stir gently until everything is coated.
Assemble. Transfer to the baking dish.
In a small bowl, mix panko with 1 tablespoon melted butter and a pinch of salt. Sprinkle evenly over the top.
Bake. Bake 18–22 minutes, until the edges bubble and the top is golden. If you like it extra crispy, broil for 1–2 minutes at the end, watching closely.
Finish and serve. Rest 5–10 minutes.
Drizzle with a little buffalo sauce, sprinkle with green onions, and serve with ranch or blue cheese dressing on the side.