Regular ferries operate between Dar - Es Salaam, Zanzibar and Pemba. The services between Dar - es - Salaam and Zanzibar range from 75minutes to 90minutes and that of Pemba can take about 3 hours depending on wheather. Timetables and prices are displayed on boards outside each office.
Alternatively you can get the detailed information from a local tour operator.