Preheat the oven to 425°F and butter a 9x13-inch baking dish.
In a small bowl, place the bread crumbs and olive oil. Toss to coat the bread crumbs, then add the pecorino cheese and toss to combine.
Bring a large pot of salted water to a boil. Prepare the macaroni according to the package instructions, cooking it a minute shy of al dente. Drain and toss with a drizzle of olive oil to prevent sticking.
In another large pot (or wash and dry the pasta pot and reuse it), melt the butter over medium heat. Add the flour and cook, whisking continuously, until the mixture is light golden brown, about 4 minutes. Slowly whisk in the milk. Add the garlic, mustard, paprika, salt, and several grinds of pepper and bring to a simmer, whisking continuously.
Add the cheddar and Gruyère cheeses and whisk until melted. Cook, whisking often, over medium-low heat for 6 to 8 minutes, or until the sauce thickens slightly. Add the cooked pasta and stir to coat.
Transfer to the prepared baking dish and top with the bread crumb mixture. Bake until the topping is crisp and the cheese is bubbling, about 20 minutes.