1. Preheat the oven to 400° and butter a 10-inch cast-iron skillet. In a large pot of boiling salted water, cook the pasta until al dente. Drain the pasta; return it to the pot.
2. Meanwhile, in a large saucepan, bring the cream to a simmer with the onion and garlic. Transfer 1 cup of the cream to a bowl and whisk in the flour; return the mixture to the saucepan. Whisk over moderate heat until thickened, 5 minutes. Remove from the heat and whisk in the goat cheese, cheddar and half of the Parmigiano until melted. Whisk in the sour cream, parsley, thyme and zest and season with salt and white pepper. In a bowl, gradually whisk 1 cup of the sauce with the egg yolks, then whisk the mixture into the saucepan.
3. Pour the sauce over the pasta and stir to coat. Spread the pasta in the cast-iron skillet and sprinkle with the remaining Parmigiano. Bake for about 45 minutes, until bubbling and golden. Let the mac and cheese rest for 15 minutes, then serve.