Preheat oven to 190 degrees C. Lightly grease a 20x30cm baking dish.
Bring a large pot of lightly salted water to a boil. Add pasta and cook for 8 to 10 minutes or until al dente; drain.
Meanwhile, melt the butter in a large saucepan over medium heat. Stir in the onion and cook for 3 minutes until it begins to soften. Add the garlic and continue cooking until the onion has softened and turned translucent, about 2 minutes more. Slowly stir in the flour and cook, stirring constantly for 5 minutes.
Stir in the cream and milk and bring to a simmer. Reduce heat to medium-low and stir in mustard powder and liquid smoke; simmer for 10 minutes, stirring occasionally. Add 1 cup of Parmesan cheese, along with the cream cheese, Swiss and Cheddar cheeses; stir until melted. Season to taste with salt and pepper, then stir in the drained macaroni. Pour into the prepared baking dish. Sprinkle the remaining 1/2 cup of Parmesan cheese and breadcrumbs over the macaroni.
Bake in preheated oven until bubbly and brown, about 30 minutes. Remove from the oven and allow to stand 5 to 10 minutes before serving.