Toast the baguette slices on a baking sheet in a 300F/150C oven until the edges just begin to get golden, about 10 minutes. Remove from oven and set aside
To caramelize the onions--melt butter over medium heat in a dutch oven. Add the oil. Add the sliced onions and stir to coat with the butter/oil. Saute the onions for about 5 minutes, stirring frequently, then stir in the sugar, cover the pot and cook for another 5 minutes (this is to cook the onions), stir occasionally. Remove the cover and cook, stirring frequently, until the onions are a nice deep brown. This will take about 30 minutes. Alternately, you may prepare the onions ahead by following this recipe beginning at the step 3 below where the flour is added--do not use additional butter/oil.
Stir the flour into the onions and cook for 2 minutes to cook the flour. Add the brandy or vermouth, scraping up the browned bits on the bottom of the pan. Add the stock, and thyme if using, bring to a boil then reduce heat to low and simmer for 30 minutes.
Place soup in 6 individual soup crocks (mine are 18 oz each). Set your broiler too high. Top each soup crock with 1 or 2 slices of baguette, place Swiss cheese over the bread and divide the Parmesan cheese evenly over each crock.
Place under the broiler and remove when cheese is melted, about 1 minute.