You should apply as early as you can, after which you can delegate letters to go to individual programs, I believe. Most people do not have all their letters at this point, and if some come in later you can add them in at that point. For instance, you may feel that your research experience may help you more at a certain program but not carry as much weight elseehere - i believe you can import more than 4 letters and choose which ones go to which programs. Similarly, you can tailor your personal statement to each program.
A big mistake Ive seen in the past is people delaying their application until they have all their letters ready. Some programs are giving interviews out very early and if your app isnt in (even if it is not complete with LOR) then you may miss out on that first round of interviews.
Someone correct me if this has changed, but that is the way it was when i applied.