did this route last year and am a local from uganda
kla - msa take modern coast bus (akamba is out of service and had detiorirated alot) goes direct or stop over in nairobi they are many small 2 star hotels scattered around nairobi advise on night security as many opportunists around ,
you can book from nairobi to msa on a couple o hundred bus companies but from my knowledge heres the order in terms of service and reliablity
1.guardian coach 1500ksh + AC
2.oxygen bus(mcb sister co) 1800ksh + AC
3.coast air 1800ksh +AC
4.spanish coach 1200ksh food erved on board leaves at 10pm no AC
5.horizon with AC
6.MASH COOL
7.DREAMLINE double axle and very goodlooking
all alight at accra road nairobi and all arrive mombasa at mwembe tayari terminal
from mwembe tayari you can book many small hotels at 2000ksh a really nice one behind dreamline bus the buses leaving for dar salaam all leave at 5am the quality varies but heres my list
1.tahmeed bus
2.simba
3.taweel
4smart bus
they all charge 1000ksh and very hairy fast
arrive in dar before dusk at ubungo bus terminal and immediately book a cab tell driver to get you hotel next to ferry terminal i got a 4 star for a bargain 60usd ..tickets for ferry cost 70usd return from zanzibar \
ferry leaves every 3 hours and takes 1 half hours to stone town
ENJOY YOUR STAY
TAKE the trip to the north of zanzibar kendwa or nungwi