Nancy is right, it's entirely possible that the public defender won't meet him until Court. I was a public defender for a year, right out of law school. I usually met my clients the first time sometime after the initial appearance and preliminary hearing. I won't lie. I plea bargained virtually every case. There's a LOT of that.
A private attorney would have more time to focus on your son's case. But you may find it to be very, very expensive.
I got arrested on some minor charges in college back in the early 80's. Being a broke college student and being over 18 I did not want my parents to know that I had been arrested, so I decided to face the consequences on my own. I figured that there was no way I could afford a real attroney so I went the public defender route. I did not meet my public defender until the day of my pre-trial hearing. I went to the court and sat on a bench outside the courtroom and waited. The public defender came out and called my name. We sat down together and he told me he talked to the prosecuter and reached a deal of 6 months probation if I plead no contest. In hindsight I really wish I hired a private attorney. Considering it was misdemenaor charges AND my first offense, I think six months probation was a bit severe. A private attorney would have certainly been able to get the charges continued witout a finding.
If your son truly is guilty and there are witnesses, no attorney public or private is going to get him out of trouble. What a good private attorney will be able to do is minimize the consequenes better than a public defender would. BUT, as a parent of an adult, I would not be spending money on an attorney for my child. And as I tell my wife very often, when you "help" him, all you are really doing is shielding him from the consequences of his actions. If they don't feel some real pain, they will never be motivated to change because the message they get will be that they can do whatever they want and mom and dad will be there to pick up the pieces. And they will keep doing this at 30, and 40, and 50, and 60, and you will go to your grave bailing your child out of problem after problem. So yes, a private attorney will do a much better job for your son than an overworked, inexperienced public defender, but your son did the crime, and if he can't afford to hire a real lawyer, that's on him, not you. I would not contribute once red cent to his legal costs. If he can't afford a lawyer, let him take whatever plea bargain the public defender can get him.
As far as his "buddy", well, life is about choices, and one of those choices is who you choose to associate with. If you choose to associate with criminals, you WILL eventually be caught up in their crimes. There were two times my son was in some serious trouble as a teen. These incidents all involved a group of his friends. In a both cases he was a participant and not an instagator, but it doesn't matter to the law, you are guilty by association. One case was a road rage incident that turned into an assault. My son wasn't the driver. It wasn't his car, he didn't even have his drivers license, so he couldn't possibly. He was a passenger and the driver decided to escalate the incident and our son went along as a willing participant.