When I repot mine, I've noticed that timing is crucial but it's not just about waiting for the flowers to drop. If the pot is really tight and the plant has been in it for three years, it's probably already screaming for a change. What works is doing it right when you see it's putting out new roots (those little green tips), because at that point the orchid is in growth mode and bounces back better from the transplant stress.
As for the substrate, orchid-specific pine bark really does make a difference. It's not some commercial gimmick. These plants grow on trees in nature, so they need something that drains really well and doesn't hold excess moisture. Bark provides that without compacting over time like regular potting mix would. If you want to save money, you can mix coarse bark with some charcoal, but honestly, if you only have one or two orchids, a bag of the specific substrate is pretty cheap and will last you through several repottings.
The actual process is straightforward: carefully take the orchid out, gently loosen the roots from the old substrate (without breaking them), remove any dead bark that's stuck on, and put it in a pot just a little bit larger - don't give it too much extra space, that encourages root rot. Fill with fresh bark, pack it down a bit so it settles, and then wait a week before watering. That way you avoid rotting the freshly handled roots.