In a large pot, boil water and add pasta. Cook until just underdone, then strain and add back to pot. Toss with pulled pork and set aside.
In a medium saucepan over medium-high heat, melt the remaining 2 Tbsp of butter. Add the flour and whisk, cooking until light golden brown.
Slowly add the milk to the pan, whisking continuously to prevent scorching. Bring to a simmer and let thicken, approx. 5-7 minutes.
Reserve ½ cup of cheddar cheese. Add in 1 cup each of cheddar and gruyere cheese and stir gently until cheese melts. Season to taste with salt and pepper.
Add in the pasta pulled pork mixture and mix to coat evenly with the cheese sauce. Sprinkle the reserved cheddar cheese over the top.
Broil for 1-2 minutes or until cheese on top is melted. Drizzle barbecue sauce over top and serve warm.