Cook pasta until al dente in a large pot of boiling salted water. Drain.
Meanwhile, in a large saucepan, melt the butter over medium heat. Add the flour and stir to form a smooth paste. Cook for about 2 minutes, being careful not to brown. Gradually add the milk and the half-and-half and simmer until thickened slightly, stirring all the while. Remove from the heat. Stir in the 3 cheeses and season with black pepper, to taste. Add the cooked pasta and mix into the cheese sauce thoroughly.
Preheat oven to 400 degrees F.