Bring a large pot of salted water to a boil. Add penne pasta and cook according to package instructions until al dente. Drain and set aside.
In a large skillet, melt butter over medium heat. Whisk in flour and cook for about one minute to form a smooth roux. Gradually pour in milk and heavy cream, whisking constantly to avoid lumps.
Once the sauce thickens slightly, stir in mozzarella and Parmesan cheeses until melted. Add garlic powder, onion powder, salt, and pepper. Mix until the sauce is smooth and creamy.
Fold in the shredded chicken and buffalo sauce. Stir well to ensure every piece of chicken is coated in the creamy, spicy sauce. Adjust seasoning if needed.
Add cooked pasta to the skillet and toss everything together gently, ensuring each piece of pasta is evenly coated.
Serve immediately, topped with freshly chopped parsley if desired. For extra indulgence, sprinkle additional cheese or drizzle more buffalo sauce on top.