Faits:
A. Le 23 avril 2009, A._ a été arrêté dans le cadre d'une instruction ouverte à la suite du décès de B._, tué par balles à son domicile de Genève-Cointrin dans la nuit du 25 au 26 novembre 2008. Le Juge d'instruction du canton de Genève en charge de l'affaire (ci-après: le juge d'instruction) l'a inculpé du meurtre, voire de l'assassinat de B._. Sur requête du juge d'instruction, la détention de A._ a été prolongée à plusieurs reprises.
Par ordonnance du 26 janvier 2010, la Chambre d'accusation du canton de Genève (ci-après: la Chambre d'accusation) a prolongé de trois mois la détention du prévenu, en retenant l'existence d'un risque de collusion. Statuant sur recours de A._, le Tribunal fédéral a annulé cette ordonnance pour des raisons formelles liées à un défaut de motivation et il a renvoyé la cause à la Chambre d'accusation pour nouvelle décision (arrêt 1B_55/2010 du 11 mars 2010).
B. Par ordonnance du 26 mars 2010, la Chambre d'accusation a confirmé la prolongation de la détention avant jugement de A._ accordée le 26 janvier 2010 pour une durée de trois mois, soit jusqu'au 26 avril 2010. Elle a admis l'existence de charges suffisantes à l'encontre de l'inculpé et elle a estimé que son maintien en détention préventive était justifié par les risques de collusion et de fuite.
C. Agissant par la voie du recours en matière pénale, A._ demande au Tribunal fédéral d'annuler cette décision et d'ordonner sa mise en liberté immédiate. Il requiert en outre l'assistance judiciaire. Le Procureur général du canton de Genève se rallie aux arguments de la Chambre d'accusation et conclut au rejet du recours. La Chambre d'accusation se réfère aux considérants de la décision attaquée. Elle attire en outre l'attention du Tribunal fédéral sur les dernières pièces du dossier, en particulier l'ordonnance du 23 avril 2010 prolongeant la détention de A._ jusqu'au 23 juillet 2010. Le 6 mai 2010, le recourant a déposé des observations complémentaires et produit de nouvelles pièces à l'appui de celles-ci.

Considérant en droit:
1. Les décisions relatives au maintien en détention avant jugement sont des décisions en matière pénale au sens de l'<ref-law> (cf. <ref-ruling> consid. 1.1 p. 273). L'ordonnance attaquée touche le recourant dans ses intérêts juridiquement protégés (art. 81 al. 1 let. a et b ch. 1 LTF). La qualité pour recourir suppose un intérêt actuel et pratique à obtenir l'annulation de la décision attaquée (cf. <ref-ruling> consid. 1.1 p. 81; <ref-ruling> consid. 1b p. 36). Bien que la décision attaquée prolonge la détention du recourant jusqu'au 26 avril 2010 seulement, celui-ci conserve un intérêt à l'admission de son recours dès lors qu'elle pourrait conduire à sa mise en liberté immédiate. L'ordonnance du 23 avril 2010 prolongeant sa détention jusqu'au 23 juillet 2010 se limite au demeurant à renvoyer aux motifs retenus dans la décision attaquée. L'exigence de l'intérêt actuel et pratique est donc respectée. Pour le surplus, formé en temps utile (<ref-law>) et contre une décision prise en dernière instance cantonale (<ref-law>), le recours est recevable. Il n'y a cependant pas lieu de prendre en compte les pièces nouvelles déposées par le recourant à l'appui de ses observations complémentaires du 6 mai 2010 (<ref-law>).
2. Une mesure de détention préventive n'est compatible avec la liberté personnelle, garantie par les art. 10 al. 2 Cst. et 5 CEDH, que si elle repose sur une base légale (art. 31 al. 1 et 36 al. 1 Cst.), soit en l'espèce l'art. 34 du Code de procédure pénale du canton de Genève du 29 septembre 1977 (CPP/GE; RSG E 4 20). Elle doit en outre correspondre à un intérêt public et respecter le principe de la proportionnalité (art. 36 al. 2 et 3 Cst.; <ref-ruling> consid. 2c p. 270). Pour que tel soit le cas, la privation de liberté doit être justifiée par les besoins de l'instruction, un risque de fuite ou un danger de collusion et de réitération (art. 34 let. a à c CPP/GE). La gravité de l'infraction et l'importance de la peine encourue ne sont, à elles seules, pas suffisantes (<ref-ruling> consid. 3a p. 62; <ref-ruling> consid. 4a p. 70). Préalablement à ces conditions, il doit exister à l'égard de l'intéressé des charges suffisantes, soit de sérieux soupçons de culpabilité (art. 5 par. 1 let. c CEDH; <ref-ruling> consid. 3 p. 144 s.; art. 34 in initio CPP/GE). S'agissant d'une restriction grave à la liberté personnelle, le Tribunal fédéral examine librement ces questions, sous réserve toutefois de l'appréciation des faits, revue sous l'angle restreint des art. 97 al. 1 et 105 al. 2 LTF (<ref-ruling> consid. 2.5 p. 73 s. et les références citées).
3. Dans un premier grief, le recourant conteste l'existence de charges suffisantes.
3.1 Pour qu'une personne soit placée en détention préventive, il doit exister à son égard des charges suffisantes ou des indices sérieux de culpabilité, c'est-à-dire des raisons plausibles de la soupçonner d'avoir commis une infraction. Il n'appartient cependant pas au juge de la détention de procéder à une pesée complète des éléments à charge et à décharge et d'apprécier la crédibilité des personnes qui mettent en cause le prévenu. Il doit uniquement examiner s'il existe des indices sérieux de culpabilité justifiant une telle mesure. L'intensité des charges propres à motiver un maintien en détention préventive n'est pas la même aux divers stades de l'instruction pénale; si des soupçons, même encore peu précis, peuvent être suffisants dans les premiers temps de l'enquête, la perspective d'une condamnation doit apparaître vraisemblable après l'accomplissement des actes d'instruction envisageables (<ref-ruling> consid. 3c p. 146; GÉRARD PIQUEREZ, Traité de procédure pénale suisse, 2e éd., 2006, p. 540 et les références).
3.2 En l'espèce, la Chambre d'accusation estime que les charges sont suffisamment établies par des témoignages constants, mettant en cause le recourant comme auteur du crime. Elle relève en particulier que C._ et D._ prétendent avoir versé de l'argent au recourant en rétribution de l'homicide, s'incriminant ainsi elles-mêmes de complicité ou d'instigation de meurtre, voire d'assassinat. Selon le recourant, ces accusations ne sont pas crédibles car C._ aurait régulièrement menti durant l'instruction et pourrait chercher à protéger le réel coupable, voire tenter de dissimuler qu'elle est l'auteur direct de l'homicide.
Le recourant perd ainsi de vue que le rôle du juge de la détention n'est pas de faire une véritable appréciation de la crédibilité des témoignages à charge; il lui appartient uniquement de vérifier que le maintien en détention avant jugement repose sur des indices de culpabilité suffisants. Or, les déclarations des co-inculpés du recourant constituent des indices parmi d'autres et elles peuvent être prises en considération dans la mesure où elles n'apparaissent pas d'emblée invraisemblables. Au demeurant, la Chambre d'accusation ne se fonde pas uniquement sur ces déclarations. Elle relève en effet que le recourant connaissait très bien les ascenseurs et que c'est par ce moyen que l'auteur de l'homicide s'est introduit au domicile de la victime. Dans son écriture, le recourant mentionne d'ailleurs qu'il s'est expliqué longuement sur ses capacités à déplacer un ascenseur sans déclencher d'alarmes. La Chambre d'accusation cite également le Procureur général, qui relève que le signal émis par le téléphone portable du recourant a été repéré à proximité du domicile de la victime le soir du crime et que l'alibi fourni par l'intéressé pour expliquer ce fait était demeuré invérifiable. En définitive, il existe un faisceau d'indices suffisants qui rendent vraisemblable que le recourant ait pu commettre l'infraction dont il est accusé, étant rappelé qu'il sera du ressort du juge du fond d'apprécier la crédibilité des divers témoignages et de procéder à une pesée complète des éléments à charge et à décharge.
4. Le recourant conteste ensuite l'existence d'un risque de collusion. Il soutient en substance que l'instruction touche à sa fin et qu'il ne pourrait pas influencer les derniers témoins qui restent à entendre.
4.1 Le maintien du prévenu en détention peut être justifié par l'intérêt public lié aux besoins de l'instruction en cours, par exemple lorsqu'il est à craindre que l'intéressé ne mette sa liberté à profit pour faire disparaître ou altérer les preuves, ou qu'il prenne contact avec des témoins ou d'autres prévenus pour tenter d'influencer leurs déclarations. On ne saurait toutefois se contenter d'un risque de collusion abstrait, car ce risque est inhérent à toute procédure pénale en cours et doit, pour permettre à lui seul le maintien en détention préventive, présenter une certaine vraisemblance. L'autorité doit ainsi démontrer que les circonstances particulières de l'espèce font apparaître un danger concret et sérieux de telles manoeuvres, propres à entraver la manifestation de la vérité, en indiquant, au moins dans les grandes lignes et sous réserve des opérations à conserver secrètes, quels actes d'instruction elle doit encore effectuer et en quoi la libération du prévenu en compromettrait l'accomplissement (<ref-ruling> consid. 3.2 p. 23; <ref-ruling> consid. 2.1 p. 151; <ref-ruling> consid. 3c p. 35; <ref-ruling> consid. 4b-c p. 260 s. et les références).
4.2 En l'occurrence, la Chambre d'accusation estime qu'il y a lieu de craindre que le recourant cherche à se forger un alibi en influençant des personnes voire en les intimidant, ses proches l'ayant décrit comme un individu colérique et parfois violent. Pour le recourant, ces craintes sont infondées car les témoins restant à entendre refusent tout contact avec lui ou ne pourraient plus apporter de nouveaux éléments déterminants pour l'issue de la cause.
S'il est vrai que l'instruction de la présente cause est avancée et que de nombreux témoins ont déjà été auditionnés, il n'en demeure pas moins qu'il reste des éléments importants à élucider. En effet, le recourant nie avoir tué la victime et ni l'arme du crime ni l'argent qui aurait été versé en rétribution de l'homicide n'ont été retrouvés. Il ressort d'ailleurs du dossier que l'instruction se poursuit activement, sans connaître de temps morts. Dès lors, compte tenu des charges particulièrement importantes qui pèsent sur lui, le recourant pourrait être tenté de profiter de sa mise en liberté pour contacter des tiers en vue de se forger un alibi ou pour faire disparaître des preuves. Le risque de le voir influencer des témoins est en outre concret, dans la mesure où il ressort des déclarations de ses proches et de l'expertise psychiatrique du 13 avril 2010 que le recourant présente effectivement un caractère impulsif, voire parfois violent. Dans ces conditions, sur le vu de l'avancement de l'instruction et des actes qui restent à administrer, c'est à raison que la Chambre d'accusation a retenu qu'il existait encore un risque de collusion. Il n'est dès lors pas nécessaire d'examiner s'il existe aussi un risque de fuite comme le retient l'ordonnance attaquée.
5. Il s'ensuit que le recours doit être rejeté. Dès lors que le recourant est dans le besoin et que ses conclusions ne paraissaient pas d'emblée vouées à l'échec, l'assistance judiciaire doit lui être accordée (<ref-law>). Le recourant requiert la désignation de Me Christian Delaloye en qualité d'avocat d'office. Il y a lieu de faire droit à cette requête et de fixer d'office les honoraires de l'avocat, qui seront supportés par la caisse du Tribunal fédéral (<ref-law>). Le recourant est en outre dispensé des frais judiciaires (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. La demande d'assistance judiciaire est admise.
3. Il n'est pas perçu de frais judiciaires.
4. Me Christian Delaloye est désigné comme défenseur d'office du recourant et ses honoraires, supportés par la caisse du Tribunal fédéral, sont fixés à 1'500 fr.
5. Le présent arrêt est communiqué au mandataire du recourant ainsi qu'au Procureur général et à la Chambre d'accusation du canton de Genève.
Lausanne, le 7 mai 2010
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président: Le Greffier:
Féraud Rittener