Heat a skillet over medium heat. Add 1 tablespoon of cooking oil and 1 tablespoon of butter.
Add sliced onions and cook slowly, stirring occasionally, until caramelized (about 15-20 minutes). Set aside.
In a bowl, mix ground beef with salt, pepper, and Worcestershire sauce. Form into 4 thin patties slightly larger than the bread slices.
Heat a skillet over medium heat and cook each patty for about 3 minutes per side, until well-seared and cooked through. Remove from skillet.
Butter one side of each slice of bread. Place half of the slices buttered-side down in a clean skillet or griddle over medium-low heat.
Layer a slice of Swiss cheese, a beef patty, caramelized onions, and another slice of cheese on top of each bread slice.
If using, spread Thousand Island dressing on the unbuttered side of the remaining bread slices, then place them on top of each sandwich, buttered-side up.
Cook each sandwich for 2-3 minutes per side, pressing gently with a spatula, until golden brown and the cheese is melted.
Remove from skillet, let rest for a minute, then serve hot with your favorite sides.