Fill a large pot with lightly salted water and bring to a rolling boil over high heat.
Once the water is boiling, stir in the macaroni, and return to a boil.
Cook the pasta uncovered, stirring occasionally, until the pasta has cooked through, but is still a bit crunchy to the touch, about 8 minutes.
Reserve about 2 cups of the hot pasta water, then drain the pasta in a colander set in the sink.
Set aside.
Melt 2 tablespoons of butter in the pot over medium heat.
Stir in the onion and cook until the onion has softened and turned translucent, about 5 minutes.
Place the garlic, shallots, peppercorns, reserved pasta water, and milk into the saucepan with the onions.
Bring to a gentle simmer over medium heat, and cook for 20 minutes. Milk should not boil.
Preheat oven to 350 degrees F (175 degrees C).
Melt 5 tablespoons of butter in a saucepan over medium-low heat.
Whisk in the flour, and stir until the mixture becomes paste-like and light golden brown, about 10 minutes.
Gradually whisk the milk into the flour mixture, and bring to a simmer over medium heat.
Cook and stir until the mixture is thick and smooth, 10 to 15 minutes.
Stir the Gruyere, Cheddar, and Romano cheeses into the thickened milk mixture until melted and smooth.
Season to taste with salt and pepper, then stir in the cooked lobster meat and macaroni.
Pour the macaroni into a 4 quart casserole dish or enameled dutch oven and smooth the top to be an even surface.
Sprinkle evenly with the panko crumbs.
Bake in the preheated oven until the sauce is bubbly, and the top is golden brown, 8 to 12 minutes.
Serve immediately and enjoy.