Preheat oven to 250°F (130°C). In a large Dutch oven or pot, heat oil over medium-low. Add onions and cook, stirring often, until soft, about 10 minutes. Add stock, cheesecloth cloth with spices, and wine to onions. Add pork shoulder, slab bacon, and ham hock and bring to a simmer over medium-high heat. Cover pot and put in oven for 1½ hour.
Season pork loin and put in the oven at the same temperature for 1 hour on a baking sheet. Remove and set aside. Lightly rinse sauerkraut in a colander under running water. Squeeze dry of excess water. After 1½ hours, remove pot and stir in sauerkraut. Raise oven temp 300° and cook,, covered, for another hour.
Bring a large saucepan of water to a boil. Immediately reduce heat to medium and heat sausages until tender, about 10 minutes. While sausages are cooking, heat 2 tbsp butter over high heat in a small pan and add reserved pork loin. Sear until browned, about 5-6 minutes. Cut into ½ inch medallions.
Uncover pot and add pork loin medallions, smoked pork chops, and potatoes. Put back in oven without cover to warm for another 10-15 minutes. When done, remove from oven and discard cheesecloth bundle. Transfer meats to a rimmed baking sheet. Season sauerkraut with salt and, if using, Kirsch.
Transfer sauerkraut with tongs or a slotted spoon from pot to the middle of a large serving platter, shaking off excess liquid. Arrange potatoes, meats and drained sausages over and around the sauerkraut. Bring to the table with a serving spoon with a large knives so guests can cut whatever meats they want. Serve with mustards, French bread, and a good Riesling, Silvaner or Pinot Gris wine from Alsace. Finish the meal with an equally impressive Black Forest Cake.