Prepare a 13x9 baking dish by spraying the bottom and sides with nonstick spray.
Combine all the shredded cheese in a large bowl and mix gently.
Fill a large stockpot with 8 cups of water and salt, then place over high heat and bring to a boil. Add in elbow macaroni and salt, then cook for 6 minutes, stirring occasionally. Remember the pasta will continue cooking once in the oven, so you don’t want to cook it completely in the first step.
Drain pasta in a colander and set aside. Preheat the oven to 375°F and set a rack in the middle position.
Using the same pot, add butter and melt over medium heat. Once melted, sprinkle in flour and whisk until a light paste forms. Cook for 1 minute.
Slowly pour in all of the half and half, whisking until smooth. Add in cream cheese and spices and whisk until smooth and combined. Finally, add in half of the shredded cheese and whisk until completely melted and smooth, about 4-5 minutes. Remove from heat and stir in barbeque sauce. Add cooked elbows to the cheese sauce and mix well.
Pour half of the pasta into your prepared pan, then half of the pulled pork and stir together. Pour the rest of the elbows and cheese sauce on top of the first layer. Sprinkle the rest of the pulled pork on top and then finish it off by sprinkling remaining shredded cheese across the top.
Place in the oven and bake until cheesy and browned on top, about 40-45 minutes. Remove from the oven, garnish with parsley. Let sit for 10 minutes, then serve immediately.