Heat butter and 1 1/2 tsp oil in a large skillet over medium heat. Add onions, stir occasionally for 10 minutes. Reduce heat to low and cool until golden brown. About 30 minutes, add salt and cook for 5 minutes.
Heat 1 tbsp oil in separate skillet. Arrange half of portobello mushrooms in a single layer and cook until golden brown, about 3 minutes. Stir and cook until golden brown all over, about 5 minutes. Transfer mushroom to bowl and repeat until all mushrooms are cooked.
Return cooked mushroom to pan and add broth, sherry, thyme, soy sauce, Worcestershire, and pepper. Bring mixture to boil-reduce and simmer, about 5 minutes. Using tongs remove mushrooms and divide the sauce into four small containers (to dip sandwich in)
Stir mustard and horseradish together and slather on top of half of rolls.
Preheat boiler to high. Arrange 3/4c mushroom half of roll. Add 1/4c onion. Top with slice of Swiss cheese and broil. Cooks for about 1-2 minutes until cheese melts.