Preheat oven, prep dish, and melt butter: Heat oven to 375°F. Butter a 3-quart casserole dish; set aside. In a small saucepan over medium heat, melt 2 tablespoons butter.
Butter breadcrumbs: Place bread in a medium bowl. Pour butter into bowl with bread, and toss. Set breadcrumbs aside.
Heat milk: In a medium saucepan set over medium heat, heat milk.
Melt remaining butter and whisk in flour: Melt remaining 6 tablespoons butter in a high-sided skillet over medium heat. When butter bubbles, add flour. Cook, whisking, 1 minute.
Add hot milk and whisk until sauce is thick: While whisking, slowly pour in hot milk. Continue cooking, whisking constantly, until the mixture bubbles and becomes thick.
Stir in cheeses and seasonings: Remove pan from heat. Stir in salt, nutmeg, black pepper, cayenne pepper, 3 cups cheddar cheese, and 1 ½ cups Gruyère or 1 cup Pecorino Romano; set cheese sauce aside.
Cook macaroni: Fill a large saucepan with water; bring to a boil. Add macaroni; cook 2 to 3 minutes less than manufacturer's directions, until the outside of pasta is cooked and the inside is underdone. Transfer macaroni to a colander, rinse under cold running water, and drain well.
Add macaroni to sauce: Stir macaroni into the reserved cheese sauce
Transfer to prepared dish and top with cheese and breadcrumbs: Pour mixture into prepared dish. Sprinkle remaining 1 ½ cups cheddar cheese, ½ cup Gruyère or ¼ cup Pecorino Romano, and breadcrumbs over top.
Bake: Bake until browned on top, about 30 minutes. Transfer dish to a wire rack to cool 5 minutes; serve hot.
