In a large saucepan, over medium-low heat, melt the 1/2 cup butter and then stir in flour, salt and pepper.
Cook, stirring constantly until smooth.
Add milk, stirring constantly.
Heat to boiling, stirring constantly, cooking until sauce thickens, about 1 minute; remove from heat.
Cook rigatoni al dente and drain well.
Combine sauce with the cooked and drained rigatoni.
Place half of the pasta mixture in a well-greased 9-inch baking dish.
Sprinkle with evenly with the ham and half the cheeses.
Top with remaining half of pasta mixture and then the cheeses.
Toss the 2 tbsp butter with the breadcrumbs and sprinkle evenly over top of casserole.
Bake at 375 degrees for 30 minutes or until hot and top is lightly browned.
Let set for 5 minutes before serving.