Preheat the oven to a temperature of 350°F (177°C).
Generously grease a 9x13-inch baking dish using butter or nonstick cooking spray to prevent sticking.
Fill a large pot with water, season with salt, and bring to a boil.
Add the pasta and cook following the package directions until al dente.
Once cooked, drain the pasta and transfer it to a large mixing bowl.
In a large saucepan, melt the butter over medium heat.
Whisk in the flour and cook for one minute, stirring continuously to prevent burning.
Gradually add the milk to the flour mixture, whisking continuously until the sauce thickens.
Remove the saucepan from the heat and stir in the garlic powder, Dijon mustard, and sour cream. Season with kosher salt and freshly ground black pepper to taste.
To the pasta in the bowl, add the prepared sauce along with the rinsed sauerkraut, sliced sausage, chopped green onions, and two cups of grated Swiss cheese. Stir until all ingredients are well combined.
Transfer the pasta mixture into the prepared baking dish. Spread evenly and top with the remaining one cup of grated Swiss cheese.
Place the baking dish in the preheated oven and bake for 30-40 minutes, or until the top is golden brown and the casserole is bubbling.
Remove from the oven and let rest for five minutes before serving to allow the flavors to meld together and the cheese to set slightly.
