I gotta disagree on applying to all programs. Rather I suggest selecting by regions and by tiers. I applied to all the programs in my region (simply because I wanted to stay close to family and friends), then applied to an even number of top, middle, and low tier programs from other regions that my mentor helped me select.
Yes, matching is extremely important, but applying to all programs costs more than I was willing to spend, and inevitably makes you miss an interview at a better school b/c you accepted one at a worse school who sent you an invitation earlier. Also, applying to all clogs up the system. Last year ERAS costs went down and every school I communicated with mentioned record numbers of applicants. There weren't more applicants last year, just people applying to more places on average. Yet the programs didn't offer more interview spots. So then the superstar candidates ended up increasing their average # of interviews to 15-25 interviews while the more average candidate's # of interviews dropped. This is probably why places like VCM thought they were the bomb getting all sorts of great candidates to interview, yet ended up matching none (and yes, I know about how the residents were also talking trash about the program to the interviewees; that's just the most striking example of what I'm talking about).
So be selective, save yourself some money, and help both the program's and the candidate's expectations be a little more appropriate by not applying to all. Plus your letters of rec will hold more weight regionally and programs in general don't what to transplant residents across the country where they are more likely to miss home and not fit in culturally.