I am in Ternate right now, and I would like to do a quick update on this ferry route, because I thought it a nearly impossible one to do due to infrequent and unreliable schedules.
So, while the PELNI ship Ternate - Sorong is effectively not frequent (once each two weeks), going from Weda (east coast of Halmahera) is much easier.
There are two boats a week, both departing at 2am. On Fridays the normal ferry, on Tuesdays the speedboat. Of course you cannot rely on the boat leaving exactly on the given day, but if you go to Ternate and want to cross to Sorong, you can reasonably assume you'll find a passage from Weda in not more than 3-5 days.
Hope this is useful to other travellers. Originally we wanted to do by boat the whole Ternate - Jayapura, but in the end the part Ternate - Sorong looked so unlikely that we booked a flight via Manado (also because we needed to arrange a pick up date in Waisai with our host in Raja Ampat). Afterwards, it turned out that Ternate - Weda - Sorong by boat was very feasible

