We just had a Passport Fair today (4.21.07). They had all the info, photo op, applications etc all at our local PO for today only.
You might call your local PO and ask them if they will be having one. It certainly made it easier to have it all done in one place and at one time.
We applied for passports for our 4 1/2yo and our 13 month old daughters.
Make sure to get passport photos that meet the requirements (walmart does a good job for a good price), also make sure you have his birth certificate, and you can print out the application from the Gov passport website. Also both parents need to be there with proper ID. If one of the parents can't make it you need to have a notarized statement stating that that parent agrees to your child getting a passport. There's a $30 process fee which you pay to the post office and $52 for the actual passport for a total of $82. The passport for a child under 14 is good for 5 years.
They keep your birth certificate and mail it in with the app. You will get it back when you receive the passport in about 10 weeks.
Good luck and happy traveling!