You could also try JASPAR and MEME (more for comparitive promoter work). TRANSFAC is definitely the most widely-used. You don't mention which organism you are working on, however if it is the human genome, you can get great functionally validated data from the ENCODE project database (http://encodeproject.org/ENCODE/).
Whichever method you choose, remember to use a number of different tools to carry out your predictions. In my experience, predictions can vary widely among the different databases used - and are obviously not always functionally relevant.
If you have only one promoter, or a group of unrelated promoters to analyze, the above-mentioned tools can be useful to find putative regulatory sequences. Depending on the organism, there are some specialized databases. For instance, for plants you can use PLACE: http://www.dna.affrc.go.jp/PLACE/
That can give you some ideas about the regulation of your gene, but the problem is these tools can only find those elements already reported for other systems, which could not be relevant in the context of your own promoter.
On the other hand, if you have a group of promoters from orthologous genes, or from co-expressed genes, I always recommend performing analyses for discovery of novel regulatory elements. That way, you can find potentially functional elements based on evolutionary conservation or common regulatory mechanisms. These tools can be applied to different organisms. You can start trying SCOPE or Melina II: