I have had both done -- and done it myself!

I think the dry cleaning does a better job. But steam cleaning ususally uses no chemicals except on bad stains (or when they dye a spot.)

Having it done once a year can really pay for itself in the life of your carpet.