Animmaniac
I'm sorry but it would increase the number of unnecessary checks, let's break it down item by item. Maybe if collision checks between objects were cached, but as Ashley has confirmed in a previous thread of mine, they are not.
Let's say you have a family with three objects X, Y and Z, and one of each object in your layout.
Using your system of checking object to family collision, you would have three events:
X On Collision with Family: This would internally run two separate collision checks: X-Y and X-Z
Y On Collision with Family: This would internally run two separate collision checks: Y-X and Y-Z
Z On Collision with Family: This would internally run two separate collision checks: Z-X and Z-Y
Making for a total of 6 collisions
Not let's see what would happen if we used Family to Family collision:
Family On Collision with Family:
Checks X-Y, X-Z, Y-Z
X-Y is the same as Y-X
X-Z is the same as Z-X
Y-Z is the same as X-Y
So in your example, you perform 2x the number of collision checks. You can imagine that for 100s of objects in a game, this just wouldn't scale well.