As a dev team we are under a lot of pressure (internally) to provide accurate release dates to our customers. How should we go about this? 

The problems we see are in defining exactly what is required for each release and in not knowing how our priorities are likely to change during a release. We are using FogBugz and think that we can make use of Evidence Based Scheduling to help with the uncertainty, but we don't expect our customers to be very happy with a confidence range.

I see that Fog Creek have a policy of not telling customers when releases will be available until they are actually done. Does any one else take this approach?

EDIT: Thanks for the responses - very difficult to choose an accepted answer, so I voted a few of them up to give you the karma. I chose cowgod's as the one that matches the way I would like to handle our own development.