Check at the youth hostels and other hotels in Panama (or in Cartagena if you are starting from there). There are often signs or flyers posted. If not, ask someone who works at the hotel or ask the other guests. If you have some flexibility in your schedule, this is something that is probably easier to set up once you are there rather than trying to schedule it ahead of time. The price should be about $300, and may include a stopover on San Blas islands. The trip should take a minimum of two days but will most likely be 3-5 days.
Check online for people who have blogged or written travelogues recently about their experience with a budget cruise from Panama to Cartagena. You can also try googling popular yachts. Travelers have recommended a German yacht called Stahlratte, Captain Marcos and his boat The Melody, and the Golden Eagle captained by Peter Rippingale.
Look through a Lonely Planet book for Colombia or Panama. They have mentioned these cruises in their travel guides.
Beware of small cargo boats. You may be offered a ride on a small cargo boat to Cartagena, but these are usually smugglers and you may be in for a very dangerous ride. You might also find yourself dumped off somewhere in the middle of the the night that is far from where you were supposed to be taken.