The BEST place would be a local Herp show IMHO. You can meet the seller, look over all the snakes for sale, see if they seem like a honest person, see if the snakes look healthy and see which one you like best.
If you don't mind paying shipping, you can shop from online sellers that have good reputations like 8Ball Pythons here, and similar places.
You might find ball pythons for free or near free in local classifieds, as people who don't want them anymore. But you run the risk of getting a snake with health issues due to poor care given previous to you getting it. Could carry diesese, parasites, or be in poor shape.
Local herp stores are a possibility, although some are not good places, and some don't keep the snakes properly, and the price will be higher than the others. If it's a good shop, with good husbandry, you'll get a good animal, but not cheap.
It's sort of a universal truth. You can have 2 of 3 things regarding Fast, Cheap, Good. Fast and Cheap but it might be unhealthy. Fast and Good, but it won't be Cheap. Cheap and Good but you'll have to have patience for that to occur, since it won't be Fast.
Hope it helps, and make SURE to have the enclosure completely set up and running properly BEFORE you get the snake!