How to Travel From Puerto Princesa to El Nido?

How to go from Puerto Princesa to El Nido? How long does it take and how much does it cost? What is the best way to travel (van, bus, car, ferry, airplane)?