Trim any fat from the sirloin. Cut into two portions of equal size. Tenderize the sirloin by pounding with a meat mallet for several minutes (we're trying to simulate a filet here). In a medium-hot pan, sear the steak on all sides, about 30 seconds per side. The steak should still be rare inside at this point. Refrigerate until ready to use again.
Once oven is preheated, remove stems from the mushrooms and cook mushrooms (caps and stems) for 20 minutes. This removes most of the moisture from the mushrooms, which will prevent a soggy Beef Wellington when all is said and done.
Chop mushrooms finely and cook in the same pan where you cooked the steak with olive oil and thyme. Continue cooking until the moisture is gone (the mushrooms will stop sizzling and popping), which should be within a mnute. Remove from heat and refrigerate until ready to use again.
Lay sheets of plastic wrap out - one per steak - with half of the sliced ham on each sheet. arrange, slightly overlapping, so that there's enough to surround the steak. Spread half the mushrooms to cover the ham, with half the mushrooms on each.
When the steak is cooled, season with salt and pepper on all sides. Place one on each ham and mushroom assembly and fold ham around all sides of the steak. Wrap tightly with plastic wrap and return to refrigerator.
Split puff pastry in half. Roll half out on a lightly floured surface. Remove plastic wrap from steaks. Place steak in the middle of the puff pastry and wrap completely, pinching together any open spots. Wrap tightly in plastic wrap and return to the refrigerator for 30 minutes.
Spray a baking sheet with cooking spray. Remove steaks from refrigerator and discard plastic wrap. Score the top of the puff pastry, and brush surface with a mixture of egg yolk and 1 tablespoon of water.
Bake on the middle rack for 15-20 minutes, until the puff pastry is golden brown. Allow to rest for 10 minutes before cutting.