Hi,
I've used it in the past, albeit in a slightly limited way due to WFM constraints, but it was a big success. The schedules generated don't necessarily have to be less effective. After all, if you have a lot of people who want to start early, then that doesn't mean that you have to allow that.
The key is in building your staffing pattern and then populating it with people who would prefer to work those shifts. It's probably generally true that most people would prefer to start early, but for some people it's a real pain, so why include them in the early starts if there is no need to do so?
I started by collating all preferences from the agents. It's up to you how much preference you want to allow. For example, I still had everybody working weekends, but took preferences on the shifts that we offered e.g. 8 starts, not working late on a Wed etc. From that we were able to populate WFM with the preferences. The idea being that if you need say 20 people to work till 8pm on a Monday, then you pick from the available pool first and only ever dip into those who woud prefer not to work that shift as a last resort. This solution worked for us and was fairly easy to implement ( a bit more manual, but was worth it) Obviously I can't say if the same solution would work for you.
In terms of the "fairness" issue mentioned above, that can be a problem. If your WFM has equity rules, then this should take care of that part.
Communication is the key. It was made clear to the agents that the preferences were just that, preferences. They were still contracted 8-8 mon-sat, but we would always try to give them the shifts that they preferred. Business needs always came first. I'd say that we got it about 80% right, but that was way better than before.
Hope that's of some help