Place the dried mushrooms in a medium bowl and pour in enough water to cover. Let soak for 20-30 minutes, or until the mushrooms are soft and plumped. Working over the bowl, squeeze any excess water from the mushrooms. Reserve the soaking liquid, and chop the mushrooms into bite-size pieces. Set aside.
Trim and peel the beets, then grate on the large holes of a box grater. You should have about 8 cups grated beets. Set aside.
Make a bouquet garni: Place the peppercorns, allspice, garlic, and bay leaves on a double-layer square of cheesecloth. Tie the ends of the cheesecloth around the spices and set aside.
In a large pot, heat the canola oil over medium heat. Add the leeks, onion, and celery. Season with salt and cook until the vegetables have softened, 5-8 minutes.
Add the water, grated beets, chopped mushrooms and reserved soaking liquid, and the bouquet garni. Bring to a boil then lower the heat and simmer for 20-30 minutes, or until the beets are tender.
Add the potato and season with a pinch of salt. Cook until potatoes are tender, 10-15 minutes, then add the carrots and cook until tender, 10 minutes more.
Add the tomatoes, tomato sauce, and pickled beets. Cook for another 10 minutes, or until all of the vegetables are tender. Stir in the dill, then remove the pot from the heat.
Ladle the borscht into bowls. Garnish with dill and serve with rye bread and sour cream, if using.