Preheat the oven to 375°F. Spray a 9x13 baking dish with cooking spray, and set aside.
In a dutch oven or large pot, make the sauce by melting the butter over medium heat. Once melted, whisk in the flour, garlic powder, pepper, and salt, and cook for 1 minute.
Slowly stream in the milk while constantly whisking to avoid lumps. Repeat with the chicken stock and heavy cream, the mixture should be smooth.
Add the cream cheese and stir it in until melted.
Add the parmesan and stir to combine. Take off the heat.
Add the cooked penne and shredded chicken to the pot, and stir until everything is coated in the sauce.
Pour half the mixture into the prepared baking dish, and top with half of the mozzarella cheese.
Add the remaining pasta on top, followed by the remaining mozzarella.
Bake uncovered for 20 minutes until bubbly. Turn on the broiler and broil until golden brown. Serve immediately with parsley garnish if desired.