Faits: A. A._, ressortissant somalien, se trouve en détention préventive depuis le 9 décembre 2008, date à laquelle le Juge d'instruction du canton de Genève l'a inculpé de meurtre (art. 111 CP), voire d'assassinat (art. 112 CP), de vol (art. 139 CP) et de tentative d'utilisation frauduleuse d'un ordinateur (art. 22 et 147 CP). Il lui est notamment reproché d'avoir, dans la nuit du 6 au 7 décembre 2008, tué B._. Il aurait également volé le sac appartenant à la prénommée et tenté de retirer de l'argent au moyen de la carte bancaire de celle-ci. La détention préventive de A._ a été régulièrement prolongée et ses différentes demandes de mise en liberté provisoire rejetées. A._ avait déjà été condamné par le Juge d'instruction du Bas-Valais les 3 février 2006 et 25 octobre 2006, respectivement à trois mois d'emprisonnement avec sursis notamment pour dommage à la propriété, injure et infractions d'importance mineure, et à vingt jours d'emprisonnement avec sursis pour menaces et voies de fait. B. Le 22 mars 2010, A._ a formé une nouvelle demande de mise en liberté provisoire en proposant de verser une caution de 60'000 francs et de suivre un traitement dans un centre reconnu pour personnes dépendantes de l'alcool. Par ordonnance du 26 mars 2010, la Chambre d'accusation de la Cour de justice du canton de Genève (ci-après: la Chambre d'accusation) a rejeté cette demande. Elle a considéré en substance qu'il existait des risques de récidive et de fuite et que le montant proposé à titre de caution ne constituait pas une garantie propre à assurer la présence de l'inculpé à l'audience de jugement. Par ordonnance du 30 mars 2010, la Chambre d'accusation a renvoyé le prénommé en jugement devant la Cour d'assises du canton de Genève. C. Agissant par la voie du recours en matière pénale, A._ demande principalement au Tribunal fédéral d'ordonner sa mise en liberté immédiate conditionnée au dépôt d'une caution de 60'000 francs et à un traitement résidentiel au Centre Villa Flora à Sierre. Il conclut subsidiairement au renvoi de la cause à l'instance précédente pour nouvelle décision dans le sens des considérants. Il requiert en outre l'assistance judiciaire. Le Ministère public du canton de Genève et la Chambre d'accusation concluent au rejet du recours en se référant aux considérants de l'ordonnance attaquée. Le recourant a répliqué.