Preheat oven to 350 F. Lightly spray or butter a 13×9 baking dish.
Put a covered stock pot of water on to boil over high heat.
Heat oil over medium-high heat in a 10-inch skillet. Saute shallots until golden brown, 2 to 3 minutes. Add ham; continue to saute until meat begins to brown, about 2 minutes. Add vermouth and simmer until liquid almost evaporates, about a minute. Add peas and cook a few minutes more.
Meanwhile, over low heat melt the butter in a heavy bottomed saucepan. Combine flour, salt, pepper, paprika, and dry mustard. When butter has melted, add the flour mixture to the butter and use a whisk to combine to make your roux. Continue whisking and slowly add the milk, whisking to combine all the ingredients. Turn up the heat slightly and whisking often, thicken the mixture. You may see occasional bubbles, and that’s ok, but you do not want it to boil, just to thicken. When thickened, remove from heat and add the shredded cheeses, using the whisk to combine until melted and homogenous.
Drain the macaroni (do not rinse, the starch helps the cheese stick to the noodles) and place in a large bowl. Pour cheese sauce over the macaroni and stir to coat well.
Stir shallot and pea mixture into macaroni and cheese. Pour macaroni and cheese mixture into the 13×9 pan and top with the panko bread crumbs. Bake 20 minutes.