Melt the butter in a 1-1/2- to 2-qt. flameproof fondue pot over medium-low heat. (If you don’t have a fondue pot that’s flameproof, use a heavy, narrow saucepan.) Add the onion and garlic and cook, stirring occasionally, until completely soft and beginning to caramelize, 15 to 20 minutes.
Meanwhile, in a large bowl, toss the Emmentaler, Cheddar, and Gruyère with the cornstarch, mustard, and pepper.
Add the caraway seeds to the pot and stir to toast them slightly, about 2 minutes. Add the beer, increase the heat to high, and bring to a boil. Reduce the heat to medium low and simmer to mellow the flavor of the beer, about 3 minutes.
Sprinkle the cheese mixture into the pot a large handful at a time, stirring each batch in a back and forth pattern so that the cheese doesn’t ball up as it melts. Continue adding and stirring until all of the cheese is melted, smooth, and thick, adjusting the heat as necessary to maintain barely a simmer. Stir in the sherry and season to taste with salt. (If using a saucepan, transfer the fondue to a fondue pot.) Set the fondue pot over a low flame at the table to keep it warm. Serve with the dipping ingredients.
What to dunk: You can make cheese fondue a more balanced meal by serving some or all of the following as dipping options: Sourdough or ciabatta bread cubes, pear and apple slices, steamed carrots and cauliflower, boiled baby or fingerling potatoes, cornichons or baby pickles, grilled or broiled sliced sausage.