Step 1Heat the oven to 375 degrees. Bring a large pot of salted water to a boil.
Step 2Place the peppercorns, thyme and bay leaf in a small piece of cheesecloth or coffee filter, and tie together to make a sachet. In a large saucepan, place the milk and sachet and bring to a simmer over low heat, careful not to boil. Remove from heat.
Step 3While the milk is heating, in a medium, heavy-bottomed pot, melt the butter over medium-low heat, careful not to brown. Reduce the heat to low and whisk in the flour to form a roux. Stir the roux occasionally for 5 minutes, watching that it does not stick to the base of the pot.
Step 4Slowly whisk in one-fourth of the milk to form a paste. Slowly whisk in the rest of the milk and the sachet, and season with the 2 teaspoons salt and cayenne pepper. Increase the heat to medium and bring to a boil, stirring occasionally. Reduce the heat to a simmer and cook for 10 minutes, stirring occasionally.
Step 5Remove from heat and stir in 4 3/4 cups cheese and cream until the cheese is fully melted and the sauce is smooth. This makes a scant 2 quarts cheese sauce. Remove and discard the sachet, and set aside.
Step 6While the cheese sauce is cooking, make the pasta. In the large pot of salted boiling water, cook the penne to very al dente, about 7 minutes (the pasta will continue cooking as it bakes). Drain the pasta and cool under running water.
Step 7Place the pasta in a large bowl, and toss with the cheese sauce. Pour the pasta and cheese sauce into a greased 13-by-9-inch baking dish. Sprinkle over the remaining 1 1/2 cups cheddar cheese and the parmesan cheese. Bake until the cheese topping is melted and lightly colored, 15 to 20 minutes. Cool slightly before serving.