Perhaps it's related to the fact that I'm not in a top10 university
You're probably right :p (even though the top10 appellation is a matter of context).
Speaking from experience, here are the 3 extremes: If you want great teachers at the undergrad level, go to a good (but not top) liberal arts school with no research program. If you want excellent peers who can challenge you and who you can learn from, go to a big research/liberal arts school (doesn't matter which one, they both attract the kind of people you might find intellectually stimulating). If you want research experience, go to a big research school.
In reality, you'll want to balance these three aspects (according to your own needs - level of independence, motivation, interests) to pick the "top10" school for you.
Also, regarding parent's main point - no, I have not found "95%" of teachers (imo you quotified the wrong thing :p) in physics and math like that. Did my undergrad in physics at a relatively obscure midwestern liberal arts school - excellent teachers, in every sense of the word. Piss-poor peers (hey, it rhymes!). Doing my PhD at a huge-ass top-tier school on the west coast. Again, excellent teachers. I have found time and again that teachers in lower level courses frequently get rated much higher than those in upper level courses when the student body is mediocre and vice-versa when the student body is what an average person would call "overachieving" (whatever that means *eyeroll*). Parent appears to have been singularly unlucky (or non-objective - I don't really know him/her) to have found such a high percentage of mediocre teachers.