Faits:
A. A._ se trouve en détention provisoire à Genève depuis le 28 février 2012, sous la prévention de blanchiment aggravé. Il lui est reproché d'avoir, de novembre 2011 à février 2012, en tant qu'employé d'un bureau de change genevois, blanchi plusieurs millions d'euros provenant de trafics de stupéfiants commis à Lyon. Il était mis en cause par le dénommé B._, ainsi que par un employé de celui-ci, dénommé C._. Après avoir collecté des fonds provenant de trafiquants de drogue, ils les acheminaient en Suisse et les changeaient auprès du prévenu en grosses coupures, ou procédaient à des virements en faveur de donneurs d'ordre marocains. Ces mises en cause étaient corroborées par des écoutes téléphoniques au sujet desquelles le prévenu - déjà condamné en 2007 pour le même genre d'infraction - s'était contenté d'évoquer une plaisanterie ou un piège.
La détention provisoire a été prolongée par le Tribunal des mesures de contraintes (Tmc), en raison des risques de collusion avec les personnes à entendre. B._ et C._ étaient certes détenus en France, mais on ignorait jusqu'à quand devait durer cette détention, et le prévenu avait été en relation avec d'autres personnes qu'il pouvait être tenté d'influencer. Compte tenu des antécédents du recourant, un risque de réitération a également été retenu. Par arrêt du 5 mai 2012 (1B_226/2012), le Tribunal fédéral a confirmé l'arrêt cantonal du 3 avril 2012, retenant que les charges étaient suffisantes et qu'il existait un risque de collusion à l'égard des deux personnes qui le mettaient en cause.
B. Le 29 mai 2012, le prévenu a demandé sa mise en liberté immédiate. Il reprochait au Ministère public de ne pas vouloir procéder à une nouvelle audition de B._ et C._, de sorte qu'il n'existait plus de risque de collusion. Une commission rogatoire a été adressée aux autorités lyonnaises le même jour.
Par ordonnance du 6 juin 2012, le Tmc a refusé la mise en liberté du prévenu, écartant le risque de fuite mais retenant le danger de collusion et de réitération. Par arrêt du 27 juin 2012, la Chambre pénale de recours de la Cour de justice genevoise a rejeté le recours formé par A._. Le risque de collusion demeurait jusqu'à l'audition des deux précités, déjà entendus le 13 mars 2012. Le Procureur n'avait jamais renoncé à une nouvelle audition, mais avait attendu l'évolution de l'enquête pour l'ordonner. Le texte de la commission rogatoire avait été soumis le 6 mai 2012 à l'avocat du prévenu et l'envoi avait eu lieu deux semaines plus tard. Il n'y avait pas de violation du principe de célérité, ni d'attitude contradictoire de la part du Ministère public. Le risque de réitération a lui aussi été confirmé: le recourant avait été condamné avec sursis en juillet 2007 pour des faits similaires et avait recommencé ses agissements à peine quatre mois après l'échéance du sursis. La durée de la détention demeurait proportionnée au regard des montants blanchis.
C. Par acte du 19 juillet 2012, A._ forme un recours en matière pénale par lequel il demande principalement l'annulation de l'arrêt cantonal et sa mise en liberté, subsidiairement le renvoi de la cause à la cour cantonale pour nouvelle décision.
La cour cantonale se réfère à son arrêt, sans observations. Le Ministère public ne s'est pas déterminé.

Considérant en droit:
1. Selon l'art. 78 LTF, le recours en matière pénale est ouvert contre les décisions relatives à la détention provisoire ou pour des motifs de sûreté au sens des art. 212 ss CPP.
1.1 Selon l'art. 81 al. 1 let. a et let. b ch. 1 LTF, le prévenu a qualité pour agir. Le recours est formé en temps utile (art. 100 al. 1 LTF) contre une décision rendue en dernière instance cantonale (art. 80 LTF). Les conclusions présentées sont en soi recevables au regard de l'art. 107 al. 2 LTF.
1.2 Même si une nouvelle décision de prolongation de la détention a été rendue après le prononcé attaqué, le 2 juillet 2012, le recourant n'en conserve pas moins un intérêt à ce qu'il soit statué sur ses griefs (<ref-ruling> consid. 1.3 p. 276).
2. Comme il l'avait déjà fait dans son précédent recours au Tribunal fédéral, le recourant reprend, en le critiquant, l'exposé des faits retenus par la cour cantonale.
2.1 Le Tribunal fédéral statue en principe sur la base des faits établis par l'autorité précédente, sauf si ceux-ci ont été retenus de façon manifestement inexacte - ce qui correspond à la notion d'arbitraire: <ref-ruling> consid. 4.3 p. 63 - ou en violation du droit au sens de l'art. 95 LTF (cf. art. 105 al. 1 et 2 LTF) et si la correction du vice est susceptible d'influer sur le sort de la cause (art. 97 al. 1 LTF). Lorsque le recourant entend s'en prendre aux faits ressortant de l'arrêt attaqué, il doit établir de manière précise la réalisation de ces conditions. A défaut, il n'est pas possible de tenir compte d'un état de fait divergent de celui qui est contenu dans l'acte attaqué. En particulier, le Tribunal fédéral n'entre pas en matière sur des critiques de type appellatoire portant sur l'état de fait ou sur l'appréciation des preuves (<ref-ruling> consid. 5.1 p. 356 et les arrêts cités).
2.2 Les objections du recourant, telles qu'elles figurent dans la partie en fait du recours, ne sont pas propres à faire apparaître comme "manifestement inexactes", au sens de l'art. 105 al. 2 LTF, les constatations de l'instance précédente. Le recourant omet notamment de préciser, dans son argumentation de nature appellatoire, en quoi les faits litigieux seraient déterminants pour l'issue de la cause. Dans son exposé en droit, le recourant reproche à la cour cantonale, d'une part de n'avoir pas tenu compte des hésitations manifestées par le Procureur les 5 avril et 23 mai 2012 quant à une nouvelle audition de B._ et C._ et, d'autre part, d'avoir retenu que les autorités françaises n'avaient pas d'intérêt à se rendre avec ces deux personnes à la frontière pour qu'il soit procédé à leur audition. La première considération n'apparaît guère pertinente puisque les hésitations du magistrat ont été prises en compte lorsque la cour cantonale a examiné si la conduite de l'instruction satisfaisait au principe de célérité. L'existence de motifs de commodité personnelle - pour fixer la date de l'audience - est également irrelevante au regard du principe de célérité, dans la mesure où, comme on le verra, ce principe apparaît de toute manière respecté. Par ailleurs, le recourant ne parvient pas à démontrer que la seconde considération serait arbitraire: il n'indique pas en quoi les autorités françaises pourraient avoir un intérêt particulier à mettre sur pied, à la demande des autorités suisses, l'interrogatoire requis par le recourant. Le grief doit par conséquent être écarté.
3. Dans plusieurs griefs distincts, qu'il y a lieu de traiter simultanément, le recourant invoque les art. 5 al. 2, 212 et 221 CPP, ainsi que 9 Cst. et 2 al. 2 CC. Il estime qu'il n'existerait plus de risque de collusion, après 140 jours de détention et à la veille de l'audition précitée, fixée au 20 juillet 2012. Le recourant reproche au Procureur d'avoir, dans un premier temps (soit le 5 avril et le 23 mai 2012), renoncé à une telle audition tout en retenant un risque de collusion, et avant d'ordonner cette même audition alors qu'il était saisi d'une demande de mise en liberté. Le recourant y voit un comportement contraire à la bonne foi et un retard injustifié prohibé par les art. 29 Cst. et 6 CEDH.
3.1 L'arrêt cantonal a été rendu le 27 juin 2012, soit bien avant l'audition fixée au 20 juillet. Se prévalant de la tenue de cette audition, le recourant invoque en réalité des faits nouveaux, dont le Tribunal fédéral n'a pas à tenir compte (art. 99 LTF). Au moment du prononcé attaqué, le risque de collusion, déjà confirmé dans l'arrêt du Tribunal fédéral du 3 mai 2012, était incontestable.
3.2 Pour le surplus, l'essentiel des griefs du recourant ne concerne pas l'existence d'un risque de collusion, ni le bien-fondé de l'audition qu'il a lui-même requise, mais l'attitude du Procureur à ce propos. Celui-ci paraît certes avoir hésité à ordonner une telle mesure, mais on ne saurait y voir une quelconque manoeuvre de la part de l'autorité d'instruction. Comme le relève la cour cantonale, le recourant a déjà été confronté le 13 mars 2012 à B._ et C._, et il n'y avait aucun intérêt à répéter immédiatement une telle mesure. Un délai de deux mois pour ordonner une nouvelle confrontation n'apparaît donc pas excessif. Par ailleurs, la décision de procéder par voie de commission rogatoire sur le vu d'un questionnaire détaillé, plutôt que d'entendre les intéressés à la frontière franco-suisse, procède de motifs d'opportunité qu'il n'appartient pas à l'autorité de détention de discuter. En dehors de ses griefs concernant cette commission rogatoire, le recourant ne soutient pas que l'enquête, prise dans son ensemble, aurait connu des retards ou des arrêts inadmissibles susceptibles de porter atteinte au principe de célérité. Pour autant qu'ils soient pertinents au stade de la détention provisoire, les griefs du recourant doivent être écartés.
4. Le recourant conteste par ailleurs le risque de récidive, question qui n'a pas été examinée par le Tribunal fédéral dans son arrêt du 3 mai 2012. Il estime que la décision attaquée ne donnerait aucune justification valable sur ce point; les faits actuellement reprochés auraient été commis plus de quatre ans et demi après ceux qui sont à la base de la condamnation de 2007 et l'autorité intimée n'aurait pas tenu compte de la situation personnelle du recourant (celui-ci a deux enfants en bas âge, son épouse dispose d'un revenu et lui-même aura droit à des indemnités-chômage).
4.1 Aux termes de l'art. 221 al. 1 let. c CPP, la détention provisoire peut être ordonnée lorsqu'il y a sérieusement lieu de craindre que le prévenu "compromette sérieusement la sécurité d'autrui par des crimes ou des délits graves après avoir déjà commis des infractions du même genre". Selon la jurisprudence, il convient de faire preuve de retenue dans l'appréciation du risque de récidive: le maintien en détention ne peut se justifier pour ce motif que si le pronostic est très défavorable et si les délits dont l'autorité redoute la réitération sont graves (<ref-ruling> consid. 4.5 p. 21; <ref-ruling> consid. 2.3 p. 73; <ref-ruling> consid. 2.2 p. 276 et les arrêts cités). Bien qu'une application littérale de l'art. 221 al. 1 let. c CPP suppose l'existence d'antécédents, le risque de réitération peut être également admis dans des cas particuliers alors qu'il n'existe qu'un antécédent, voire aucun dans les cas les plus graves. La prévention du risque de récidive doit en effet permettre de faire prévaloir l'intérêt à la sécurité publique sur la liberté personnelle du prévenu (<ref-ruling> consid. 3-4 p. 18 ss; cf. arrêt 1B_133/2011 du 12 avril 2011 consid. 4.7). Le risque de récidive peut également se fonder sur les infractions faisant l'objet de la procédure pénale en cours, si le prévenu est fortement soupçonné - avec une probabilité confinant à la certitude - de les avoir commises (<ref-ruling> consid. 3.2 p. 86 et les références citées).
4.2 En l'occurrence, les délits reprochés au recourant peuvent être qualifiés de graves puisqu'il s'agit de blanchiment d'argent (à tout le moins plusieurs centaines de milliers d'euros) provenant du trafic de stupéfiants. Le recourant a été condamné au mois de juillet 2007 à 180 jours-amende et au prononcé d'une créance compensatrice de 40'000 fr. pour blanchiment d'argent par dol éventuel. Les faits qui lui sont actuellement reprochés ont certes été commis plus de quatre ans après cette condamnation, mais à peine quatre mois après l'échéance du sursis qui lui avait été accordé.
Le recourant invoque en vain sa situation personnelle et familiale, puisque celle-ci ne l'a pas empêché de se retrouver, malgré une précédente condamnation, impliqué dans des actes de même nature mais de plus grande ampleur. Comme le relève pertinemment la cour cantonale, le recourant pourrait encore se prêter à des opérations de blanchiment, même s'il n'est plus employé dans un bureau de change officiel. Le risque de récidive apparaît dès lors suffisamment concret.
5. Le recourant invoque enfin en vain le principe de la proportionnalité. En effet, ses antécédents et l'importance de l'activité de blanchiment qui lui est reprochée (susceptible de constituer un cas grave au sens de l'art. 305bis al. 2 CP) permettent, en cas de condamnation, de redouter une peine privative de liberté nettement supérieure aux quatre mois de détention subis au moment du prononcé attaqué.
6. Sur le vu de ce qui précède, le recours doit être rejeté. Conformément à l'art. 66 al. 1 LTF, les frais judiciaires sont mis à la charge du recourant, qui succombe.

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge du recourant.
3. Le présent arrêt est communiqué au mandataire du recourant, au Ministère public et à la Cour de justice de la République et canton de Genève, Chambre pénale de recours.
Lausanne, le 8 août 2012
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président: Fonjallaz
Le Greffier: Kurz