I found a ghetto work-around for group ringtones on the iPhone. It's sort of annoying but once you get it set up, its easy to then change a group ringtone. You have to set the ringtone for each one of your contacts, but only ONCE, and then changing the ringtone for a group is easy. You won't want to do this unless you enjoy changing your ringtones every so often.
I'm a sucker for different ringtones and I like to change the group ringtones throughout the year to match the holiday season I'm in (don't ask me why, I just think it's fun).
I'm sort of new to the iPhone, so there might be a better way to do this, but this is what I do. (I'm assuming you already know how to create a custom ringtone and how to put them on your iPhone)
In a nut shell:
1. Create a custom ringtone for each group you want to set, and give it a default name that you recognize (ie "AA_Family" "AA_Friends" "AA_Work" etc). I put the "AA_" in front so it shows at the top of my ringtones list on the iPhone.
2. Then add the ringtones to your iTunes library and sync it with your iPhone.
3. Now the annoying part...you have to go into each contact and set the ringtone for each one according to the group they belong to. I know, this sucks. But I have about 150 contacts, and I did it, and it didn't seem to take me THAT long. You get into a rhythm and just knock it out. (First try just setting it for a few contacts, maybe 10 that are in the same group, because if you don't follow these instruction correctly you will have to do it all over again.)
4. Now, if you ever want to change a group's ringtone, just create a new custom ringtone, and rename the file the same as the default name (ie "AA_Family") and replace the file in your library. Then, when you sync, it will just update the ringtone for everyone in that group.
***TWO IMPORTANT THINGS TO NOTE***
1. DO NOT have the same ringtone on your phone twice.
For example, let's say you have a custom ringtone for the song "Thriller" (named Thriller.m4r) and you want to set that for your "AA_Family" group ringtone. You do the file rename/replace and stuff in your iTunes library, but make sure that Thriller.m4r is NOT in your iTunes library when you sync. If it is, it will mess up the group ringtone stuff you just did and set the ringtone of everyone in that group to "Thriller" instead of "AA_Family".
2. DO NOT add back in a previous group ringtone in your updated sync when you change the group ringtone.
So, I just changed my family group ringtone to Thriller, and now I want to change it to Jingle Bells. I do the same rename/replace procedure, and I make sure that JingleBells.m4r is not in my iTunes library. Thriller.m4r isn't in my library either because I removed it before. Just make sure that you don't add it back in on this sync either because it will mess up the group ringtone stuff. But I want Thriller as a ringtone still on my iPhone, just not as a group ringtone, so what do I do? Well, just do one sync to update the group ringtone (without Thriller in the library), and check it to make sure it worked. Then add Thriller.m4r to your iTunes library, and sync again. Now you have Jingle Bells as a group ringtone, and Thriller.m4r as a single ringtone.
The iPhone knows that song you are playing regardless of the filename of your ringtone. As long as you don't have conflicts, you'll be alright. Hopefully this isn't too confusing. I tried to be clear without typing out a novel. Again, this is really only helpful if you enjoy changing out your group ringtones often like I do.