I booked the all in one trip from Phuket to Koh Tao.
The pickup for the shuttle to Donsak pier was scheduled at roughly 7:30am (+-30min, so standby for me at 7) and finally arrived at 8:20.
The ferry operated by Lomprayah was scheduled to arrive in Koh Tao at 5pm. It already arrived late at Donsak and left the pier at 4:40pm. But even without all the delay until then, there's no way in the world that it actually arrives at Koh Tao at 5 as the boat trip itself also took longer than expected. I finally left the boat at 8:50pm, so we had almost four hours (!) of delay in total.
During the waiting times on the way, you don't really know when you have to leave again, so it's really hard to get proper food over the day. When I arrived at the pier I was told we had to wait for 20-30 minutes and they kept saying that an hour later. So I basically ate a Snickers and some peanuts over the whole day until 9pm. Not fun.
We had pretty rough sea, which doesn't affect me too much but prepare for some puking people around you and maybe bring a bag yourself.