Melt 2 tablespoons of butter in a large sauté pan over medium heat, then add the onions. Stir, then cover and cook until softened, about 5 minutes. Add a splash of water and scrape up any browned bits on the bottom, then cover and cook down some more. Repeat this process several more times until the onions have started to turn deep brown and caramelized.
Add fresh thyme, Worcestershire sauce, sugar and vinegar, then season with salt and pepper to taste. Continue cooking for 2-3 more minutes, then transfer onions to a bowl.
Spread a layer of onions on each slice of bread. Top two pieces of bread with a folded slice of Swiss cheese. Top with more onions, then another slice of cheese, then more onions, and one more slice of cheese. Place the remaining slices of bread on top and gently press down.
Preheat a large saute pan or griddle to medium-low heat. Spread butter on one side of each sandwich, then carefully place butter-side-down on the pan. Cook until golden brown, about 4 minutes. In the meantime, butter the top-facing side of bread, then flip and cook until golden on the other side. To melt the cheese, splash a little bit of water on the pan, then invert a large bowl over top to cover the sandwiches for one to two minutes. The water will evaporate and create steam, which will allow the cheese to melt.
Transfer the sandwiches to a cutting board and use a serrated knife to slice them in half on a diagonal. Serve immediately.