Too many options can result in a "kid in a sweetshop" syndrome. Customers are so overwhelmed by the choices available, they just go elsewhere.

You may be better off segregating your products at a primary attribute level... ie: create many more products, located in categories that are named what would otherwise be a primary attribute.

For example... instead of having hundreds of colour swatches all on ONE product, create categories for COLORS, and then at least you are limiting the number of selectors...

Categories:

Predominately Green Sofas
Predominately Red Sofas
Predominately Cream Sofas

You could go another level...

Under each COLOR category, have PATTERN TYPES

Predominately Green Sofas
|_ Tartans
|_ Florals
|_ Abstract
|_ (etc...)