Add the ground beef, breadcrumbs, egg, milk, ketchup, Worcestershire sauce, garlic powder, onion powder, salt, and black pepper to a large bowl.
Gently mix everything together until just combined. Avoid overmixing the beef because this can make the patties tough.
Divide the mixture into 6 equal portions and shape each portion into a thick oval patty.
Heat the olive oil in a large skillet over medium-high heat. Brown the patties for about 2 minutes on each side. They do not need to cook completely at this stage.
Arrange the sliced onions and mushrooms across the bottom of the slow cooker.
Place the browned Salisbury steak patties over the vegetables.
In a bowl, whisk together the beef broth, Worcestershire sauce, tomato paste, garlic powder, thyme, and black pepper.
Pour the gravy mixture over the patties, onions, and mushrooms.
Cover and cook on LOW for 5 to 6 hours or HIGH for 3 to 4 hours, until the patties are fully cooked and tender.
Carefully remove the cooked patties from the slow cooker and keep them warm.
Mix the cornstarch with the cold water until completely smooth. Stir the mixture into the gravy.
Cover and cook on HIGH for another 10 to 15 minutes, or until the gravy has thickened.
Return the Salisbury steaks to the slow cooker and spoon plenty of mushroom gravy over the top.
Garnish with fresh parsley and serve warm.