Preheat the oven to 350°F. Lightly butter two, 9"x13" baking dishes. Bring a large pot of lightly salted water to a boil. Add the pasta and cook until firm/tender, about 7 to 8 minutes. Meanwhile, melt the 1/4 cup of butter in a medium-sized pot over medium heat. Stir in flour and cook until light golden in colour. Slowly whisk in the warm milk. Cook, whisking constantly and being careful not to burn it, until the mixture comes to a simmer and begins to lightly thicken. Remove from heat and stir in the paprika, oregano, and 2 cups of the cheddar cheese; season with salt and white pepper. When the pasta is cooked, drain well and place in a very large bowl. Add the ham and the cheese sauce and toss to combine. Divide the mixture between the two baking dishes. Sprinkle the tops with the remaining cheddar and Parmesan cheeses. Bake one of the casseroles for 25 to 30 minutes, until golden brown and bubbly. Cool the other to room temperature before you wrap, label, date, and freeze it for a future meal. Thaw the frozen casserole in the fridge overnight before baking.
Recipe Options: Use an equal amount of smoked turkey instead of ham. Instead of cheddar, use any other tangy cheese, such as gouda or provolone, or use a mix of cheeses. For a richer tasting casserole, use homo milk instead of 2%. If you are only feeding one or two, divide the pasta among several small baking dishes, instead of two large ones.