Best way to get to Bocas from Panama City or San Jose Costa Rica is via airplanes. They have limited flights arriving Bocas daily, and the last flight arrives sometime late afternoon. Ticikets are about $100 USD. Another option is via buses that run from Albrook to Bocas. There really is no way to reserve a seat on the bus in advance. Best way to do it is to go down to the bus station in Panama City and purchase the ticket a day out (peak season). If one is fluent in Spanish, you can call the bus station and see about putting your name on their "reservations list" but, there really is no gaurantees as they are not very organized. Bus station seems to open and close at different hours every day as well.

If the direct bus from Panama City to Bocas is sold out, you can take a Bus to David, which is the half way point to Bocas. From there you would have to take a mini-bus, very tiny and a very uncomfortable to Almirante. Once you arrive at the bus station there, you take taxi to the dock where you take a aqua taxi to Bocas town or whatever island you're staying on. First time getting on an aqua taxi is a bit scary, as if the water is choppy one can fear for their life. Nonethless, a great adventure. 

After utilizing a combination of airplanes, cars, and buses and of course the airplane option is the best. The bus ride direct from Almirante to Panama City (which only runs over night) wasn't terrible, but if you can catch a flight definately do that.