I'd wait until you've either been asked to be a bridesmaid, or received an invitation (which implies that you won't be asked to be a BM).
You want to give them something where they will look back in 5 years and say "AchtungBaby gave us this for our wedding." Something personalized is good - Things Remembered is good for things like that, and I believe they will engrave things you buy elsewhere as well as their own products. You could also make something, if you're so inclined.
Don't give money if you can help it. It looks like an afterthought - like you were running out the door to the wedding and remembered "Oops, I forgot to get them a gift! Well, I'll just dash off a check."
Etiquette also says that you have up to a year after the wedding to give a gift, but I wouldn't invoke that unless there's a
really good reason (like, if you decide to make them a cross-stitch and it's not finished before the wedding).
If you are asked to be a BM, wait until you see how hideous the dresses are... it might influence your decision (j/k

)