I reccomend online. It takes longer and it costs a hell of a lot more (the shipping usually costs a LOT) but you'll get a better quality fish, prettier, that hasn't been subected to heinous pet store conditions.
But others would reccomend pet stores for some other reasons like it's easier, the fish need to be rescued from the stores, and stuff... but... I don't really think it's right to support what they're doing. Finding a breeder to buy from is better.
If you want to look online a good site to check out is aquabid.com, but please beware of the shipping costs. Prices aren't what they seem.
Unless you're going to breed it, just go for a pet store one I'd say. There are plenty of lovely fish at pet stores, and they're a heck of a lot cheaper than getting them online... like, $40+ cheaper, if you include shipping cost.