I think a lot depends on the course. I've done several races where there were multiple thousands of people on a narrow course which becomes full contact marathoning. I've had people kicking the back of my shoes, been hit in the head by flying elbows, and once a guy ran directly into me from the side almost knocking me over. I've also run a race with 20,000 people (Detroit), but the course was wide plus they sent runners out in waves. While I was always around people, which is great for motivation, I never ran into anyone.
The nice thing about smaller races is that you don't get the congestion and you can kind of zone into yourself and run your own race. Of course, you may not always get the same level of support, but I think if you go into the race knowing that it's not a problem.
I think it's good to do all different kinds of races - both in sizes and courses. Cities, country, hills, flats, heat, cold - it's the constant change of venue and size that keeps racing challenging.
"God gave you your body as a gift, so you should take care of it." - My Mom