Once you've reached lvl 12 in Pokemon Go; you get some Great Balls, and you also get them randomly at PokeStops. But it is possible to buy them in the shop?
Wait until you reach level 20, then they become more available at pokestops and I notice I'll get a few ultra balls. Great balls become the common ball received at that point at least for me I've noticed that.
I've noticed at level 23 that regular balls work for higher level captures just fine. If the Pokeymon is rare, I'll go to Great Balls or if a new one pops up, I will use the Ultra ball, but really the regular balls work just fine. The use of a strawberry before throwing a ball seems to be the best way to go. Their usage has increased my rate of capture.