Faits: A. A._, ressortissant américain, se trouve en détention préventive depuis le 25 novembre 2008, sous l'inculpation d'infraction à l'art. 19 al. 2 de la loi fédérale du 3 octobre 1951 sur les stupéfiants et les substances psychotropes (LStup; RS 812.121), voire de blanchiment d'argent (art. 305bis CP). Il lui est notamment reproché d'avoir, à tout le moins depuis l'année 1999, participé à un trafic de drogue et d'avoir pris les mesures nécessaires pour récupérer le produit dudit trafic en détenant dans un coffre-fort auprès de la banque UBS les sommes de 88'920 livres sterling, de 55'950 euros, de 84'000 dollars et de 45'000 francs suisses. La plupart de cet argent était en petites coupures, certaines réagissant positivement à la cocaïne lors du test "ionscan". Le prénommé aurait aussi versé sur son compte auprès de la banque UBS la somme de 1'459'199 dollars en espèces du 20 juillet 1999 au 2 novembre 2007, ainsi que la somme de 94'000 livres sterling du 4 octobre 2007 au 14 octobre 2008, la provenance des fonds n'étant pas établie. L'intéressé a reconnu les faits dans leur large majorité. Le 16 décembre 2009, le Juge d'instruction du canton de Genève (ci-après: le Juge d'instruction) a communiqué la procédure pénale au Procureur général du canton de Genève, l'instruction préparatoire ayant pris fin. Par ordonnance du 30 mars 2010, la Chambre d'accusation de la Cour de justice du canton de Genève (ci-après: la Chambre d'accusation) a renvoyé A._ en jugement devant la Cour correctionnelle sans jury du canton de Genève (ci-après: la Cour correctionnelle), pour infractions graves à la LStup et blanchiment d'argent aggravé. Le 19 avril 2010, l'avocat constitué a écrit au greffier chef des cours pénales afin de l'informer, en vue de la fixation de l'audience de jugement, de ses indisponibilités jusqu'à la fin du mois de juin 2010. Ayant appris que l'audience de jugement ne devrait pas être tenue avant la fin 2010, le conseil de l'inculpé a sollicité que l'audience soit tenue dans les meilleurs délais et qu'il soit renoncé à l'audition du témoin X._, actuellement détenu aux Etats-Unis, par lettre du 20 mai 2010. Le 26 mai 2010, le greffier a répondu que le rôle de la Cour correctionnelle était complet jusqu'à septembre et que les engagements de l'avocat dans un [autre procès] empêchaient de fixer une audience pendant la période du 10 octobre au 26 novembre 2010. Par lettre du 1er juin 2010, l'avocat mandaté a précisé ne jamais avoir avancé ses engagements dans ledit procès pour retarder l'audience de jugement de l'inculpé. Le greffier a répondu que l'autorité de jugement n'avait pas la compétence de renoncer à l'audition d'un témoin figurant sur la liste du Ministère public. Le 2 juin 2010, l'audience de jugement devant la Cour correctionnelle a été fixée au 15 décembre 2010. B. Le 12 juillet 2010, A._ a formé une demande de mise en liberté provisoire. Par ordonnance du 16 juillet 2010, la Chambre d'accusation a rejeté cette demande. Elle a considéré en substance qu'il existait un risque très élevé de fuite. Saisi d'un recours contre cette ordonnance, le Tribunal fédéral a confirmé l'existence d'un risque de fuite. Pour le surplus, il a admis partiellement le recours et renvoyé la cause à la Chambre d'accusation pour qu'elle statue sur le respect des principes de proportionnalité et de célérité, à bref délai et dans le respect des garanties découlant des art. 29 al. 2 Cst. et 112 al. 1 LTF (cf. arrêt 1B_244/2010 du 11 août 2010). Par ordonnance du 20 août 2010, la Chambre d'accusation a rejeté la demande de mise en liberté provisoire, au motif que les principes de proportionnalité et de célérité étaient respectés. C. Agissant par la voie du recours en matière pénale, A._ demande principalement au Tribunal fédéral d'annuler cette ordonnance et de prononcer sa mise en liberté immédiate. Il conclut subsidiairement au renvoi de la cause à l'instance précédente pour nouvelle décision dans le sens des considérants, cas échéant en enjoignant les autorités genevoises à le juger dans les meilleurs délais. Il requiert en outre l'assistance judiciaire. La Chambre d'accusation se réfère aux considérants de l'ordonnance attaquée et précise que l'avocat constitué a sollicité qu'aucune audience ne soit fixée durant les mois d'octobre et novembre 2010, en raison d'un autre procès dans lequel il plaide. Le Ministère public du canton de Genève conclut au rejet du recours. Le recourant a répliqué. 