Faits :
A.
Par jugement du 6 septembre 2018, rendu dans une cause dirigée contre six prévenus, le Tribunal criminel de l'arrondissement de Lausanne a constaté que X._ s'était rendue coupable de faux dans les titres, d'instigation à faux dans les titres, d'entrave à l'action pénale, de blanchiment d'argent, d'instigation à blanchiment d'argent, d'infractions à la LEI et de contravention à la LStup, et l'a condamnée à une peine privative de liberté de quatre ans, sous déduction de 429 jours de détention avant jugement.
B.
Par jugement du 24 janvier 2019, la Cour d'appel pénale du Tribunal cantonal vaudois a rejeté l'appel de X._. Ce jugement se fonde en substance sur les faits suivants.
B.a. Le 30 décembre 2015, à R._, A._ et trois autres comparses ont participé au braquage d'un fourgon blindé. Le butin de l'attaque s'est élevé à plus de 2 millions de francs.
Début janvier 2016, A._ s'est confié à sa soeur, X._, quant au brigandage qu'il venait de commettre. X._ s'est chargée, à la demande de son frère, de trouver une chambre d'hôtel à B._ à C._, l'un des auteurs du braquage, dans laquelle celui-ci a séjourné entre les 2 et 6 janvier 2016. Toujours à la demande de son frère, elle lui a fourni l'un de ses téléphones portables ainsi qu'une carte téléphonique et lui a remis sa part du butin, soit 200'000 francs. Au total, un montant de 280'000 fr. a servi de rétribution aux trois comparses de A._.
Par ailleurs, X._ a défini, d'entente avec son frère, diverses stratégies visant à blanchir l'argent provenant du braquage. Une semaine environ après les faits, le butin a été emmené au domicile de celle-ci. C'est ainsi qu'à cet endroit et durant plusieurs jours, A._, X._, D._ et E._ ont compté manuellement l'argent. Par la suite, X._ a conservé l'argent et était la seule à pouvoir y accéder.
B.b. X._ et A._, domiciliés en Suisse, sont nés au Brésil d'un père suisse et d'une mère brésilienne, laquelle vit toujours là-bas, de même que leur demi-soeur. A._ avait pour projet de retourner vivre au Brésil et d'investir à tout le moins une partie du butin du brigandage dans l'exploitation d'un ou de plusieurs hôtels dans ce pays. Dans ce but, entre les mois de janvier et de mai 2016, A._ et X._ ont eux-mêmes transféré et demandé à leur entourage de transférer plusieurs centaines de milliers de francs vers des comptes et à l'attention de personnes vivant au Brésil, via des agences de transferts de fonds. Ils ont demandé à ces proches de mentir en remplissant les documents visant à identifier l'ayant droit économique des fonds et le motif du transfert, avant de récupérer les quittances. C'était leur mère, F._, rapidement informée de la situation, qui leur communiquait des noms et des références de comptes bancaires sur lesquels l'argent pouvait être envoyé. Elle se chargeait ensuite de faire reverser les sommes transmises depuis la Suisse sur son propre compte, sur celui de sa fille G._, sur celui de son avocat, Me H._, ou encore sur le compte brésilien de A._. Ce dernier et X._ transmettaient les quittances récupérées en Suisse à leur mère pour qu'elle tienne un décompte des sommes envoyées et s'assure que les intermédiaires brésiliens lui reversaient l'entier de l'argent réceptionné.
X._ a notamment convaincu I._, qu'elle avait rencontré en août 2015 et qui l'avait demandée en mariage en octobre 2015, de blanchir une partie du butin, en évoquant avoir touché un héritage de plusieurs centaines de milliers de francs se trouvant en cash auprès d'une banque genevoise. I._ a ainsi accepté de se faire remettre en liquide et petites coupures une somme totale de 103'200 fr. et l'a créditée sur son compte bancaire en huit versements effectués entre le 31 janvier et le 2 février 2016. Le 3 février 2016, à la demande de X._, I._ a effectué un virement de 100'000 fr. sur un compte d'une banque au Brésil dont le bénéficiaire était l'étude de Me H._. L'envoi des fonds a été bloqué par les autorités brésiliennes. Afin d'en justifier la provenance, X._ a fait établir en mars 2016 par Me H._ un document en portugais avec l'en-tête de K._, antidaté du 1er octobre 2015, que I._ a signé, et qui attestait faussement que son commerce devait des honoraires à hauteur de 100'000 fr. à Me H._. Grâce à ce document, l'argent a finalement pu être crédité le 6 avril 2016 sur le compte de Me H._. Le 4 avril 2016, prétextant qu'elle avait elle-même déjà effectué trop de versements puisqu'elle avait envoyé 17'000 fr. ce même jour, X._ a obtenu de I._ qu'il transfère, en indiquant être l'ayant droit économique des fonds, un montant de 16'000 francs.
Ainsi, une somme totale de 485'407 fr. 40 provenant du butin a été transférée au Brésil.
B.c. Le 1er février 2016, X._ a caché, en présence de I._ qui l'accompagnait, une partie du butin, soit 824'3000 fr. en liasses de petites coupures, auprès de L._, dans le safe n° 530 loué par elle-même ainsi que dans le safe n° 239 loué par le père de son futur époux, que celui-ci avait mis à sa disposition.
B.d. X._ a proposé à I._ d'acquérir ensemble la maison que vendait le frère de celui-ci. Le 25 février 2016, ils se sont rendus dans les locaux de la banque M._. X._ a alors remis, à titre d'acompte pour qu'elle soit versée sur le compte du vendeur, une somme de 200'000 fr. provenant du butin, qu'elle a amenée en liquide et en liasses de petites coupures. L'argent a été bloqué par la banque afin d'en éclaircir sa provenance. Pour se justifier, X._ a remis à l'établissement un faux contrat de donation daté du 9 février 2016 selon lequel sa mère F._ lui faisait don de 600'000 fr. à titre d'avance sur héritage. Le 20 avril 2016, X._ et I._ ont encore remis à J._, de main à la main et en cash, une somme de 65'000 fr. provenant du butin.
Entre le 4 avril et le 4 mai 2016, X._ a remis aux parents de I._ un montant total de 171'000 fr. provenant du butin pour qu'ils le gardent dans le coffre-fort de leur domicile. Ce montant était en partie destiné à payer les travaux dans la maison qu'ils projetaient d'acquérir. Une somme de 96'700 fr. a également été injectée dans la chocolaterie de I._.
En totalité, X._ a injecté une somme de 404'000 fr. dans différentes opérations financières en Suisse.
B.e. A._ s'est rendu au Brésil le 16 avril 2016 en transportant sur lui la somme de 41'000 fr. en liquide provenant du butin. Interpellé sur l'origine de cette somme par les autorités douanières à l'aéroport de São Paulo, A._ a contacté sa soeur et lui a demandé de l'aider à justifier sa provenance. X._ a établi, avec le concours de Me H._, un document en portugais, comportant l'en-tête de K._, daté du 16 avril 2016, sur lequel I._ a apposé sa signature et le tampon de son entreprise, attestant faussement qu'il avait remis à A._ un montant de 41'000 francs. Les autorités brésiliennes ont confisqué un montant de 38'200 fr. et n'ont restitué à A._ que 2'800 francs.
B.f. X._ a versé sur ses différents comptes une somme de 60'000 fr., dont 28'853 fr. 60 ont été dépensés par cette dernière à des fins personnelles.
B.g. Par ailleurs, au début de l'année 2015, X._ a établi, à la demande de A._, trois faux certificats de salaire indiquant que A._ avait travaillé durant les mois d'octobre, novembre et décembre 2014 pour la société N._ SA, pour un salaire mensuel brut de 6'200 fr., afin de justifier de revenus suffisants et qui lui ont permis d'obtenir un leasing pour une voiture Audi Q5.
B.h. Entre avril 2015, les faits antérieurs étant prescrits, et le 10 mai 2016, date de son interpellation, X._ a consommé de la marijuana, tout d'abord occasionnellement, puis quotidiennement dès janvier 2016.
B.i. Entre 2015 et 2016, en qualité de responsable du personnel au sein de la chaîne de restaurants O._, X._ a engagé E._, ressortissant brésilien, alors que celui-ci n'était au bénéfice d'aucune autorisation. X._ a également mis à disposition de P._ et E._, ressortissants brésiliens, l'appartement dont elle était locataire à B._, alors qu'ils n'étaient au bénéfice d'aucune autorisation.
C.
X._ forme un recours en matière pénale au Tribunal fédéral à l'encontre du jugement de la Cour d'appel pénale. Elle conclut principalement, avec suite de frais et dépens, à la réforme du jugement entrepris en ce sens qu'elle est condamnée à une peine privative de liberté inférieure ou égale à deux ans, sous déduction de la détention provisoire subie avant jugement, assortie d'un sursis complet et d'un délai maximal d'épreuve de cinq ans. Subsidiairement, elle conclut à son annulation et au renvoi de la cause à l'autorité précédente pour nouvelle décision. Elle sollicite par ailleurs le bénéfice de l'assistance judiciaire.

Considérant en droit :
1.
La recourante critique la peine qui lui a été infligée.
1.1. L'<ref-law> prévoit que le juge fixe la peine d'après la culpabilité de l'auteur. Il prend en considération les antécédents et la situation personnelle de ce dernier ainsi que l'effet de la peine sur son avenir (al. 1). La culpabilité est déterminée par la gravité de la lésion ou de la mise en danger du bien juridique concerné, par le caractère répréhensible de l'acte, par les motivations et les buts de l'auteur et par la mesure dans laquelle celui-ci aurait pu éviter la mise en danger ou la lésion, compte tenu de sa situation personnelle et des circonstances extérieures (al. 2). La culpabilité de l'auteur doit être évaluée en fonction de tous les éléments objectifs pertinents, qui ont trait à l'acte lui-même, à savoir notamment la gravité de la lésion, le caractère répréhensible de l'acte et son mode d'exécution. Du point de vue subjectif, sont pris en compte l'intensité de la volonté délictuelle ainsi que les motivations et les buts de l'auteur. A ces composantes de la culpabilité, il faut ajouter les facteurs liés à l'auteur lui-même, à savoir les antécédents, la réputation, la situation personnelle (état de santé, âge, obligations familiales, situation professionnelle, risque de récidive, etc.), la vulnérabilité face à la peine, de même que le comportement après l'acte et au cours de la procédure pénale (<ref-ruling> consid. 9.1 p. 147; <ref-ruling> consid. 6.1.1 p. 66 s.). Le juge dispose d'un large pouvoir d'appréciation dans le cadre de la fixation de la peine. Le Tribunal fédéral n'intervient que lorsque l'autorité cantonale a fixé une peine en dehors du cadre légal, si elle s'est fondée sur des critères étrangers à l'<ref-law>, si des éléments d'appréciation importants n'ont pas été pris en compte ou, enfin, si la peine prononcée est exagérément sévère ou clémente au point de constituer un abus du pouvoir d'appréciation (<ref-ruling> consid. 1.2 p. 319; <ref-ruling> consid. 5.6 p. 61). L'exercice de ce contrôle suppose que le juge exprime, dans sa décision, les éléments essentiels relatifs à l'acte ou à l'auteur dont il tient compte, de manière à ce que l'on puisse constater que tous les aspects pertinents ont été pris en considération et comment ils ont été appréciés, que ce soit dans un sens aggravant ou atténuant (<ref-law>). Le juge peut passer sous silence les éléments qui, sans abus du pouvoir d'appréciation, lui apparaissent non pertinents ou d'une importance mineure. La motivation doit justifier la peine prononcée, en permettant de suivre le raisonnement adopté. Un recours ne saurait toutefois être admis simplement pour améliorer ou compléter un considérant lorsque la décision rendue apparaît conforme au droit (<ref-ruling> consid. 1.2 p. 319; <ref-ruling> consid. 5.6 p. 61; <ref-ruling> consid. 2.1 p. 19 s.).
1.2. La cour cantonale a constaté que la recourante s'était rendue coupable de blanchiment d'argent, infraction passible d'un maximum de trois ans de peine privative de liberté, d'instigation à cette infraction et d'entrave à l'action pénale, passible de la même peine. Elle s'était aussi rendue coupable de faux dans les titres et d'instigation à cette infraction, passible d'un maximum de cinq ans de peine privative de liberté, ainsi que d'infractions à la Loi fédérale sur les étrangers et l'intégration du 16 décembre 2005 (RS 142.20; LEI). Le cadre légal, dans son cas, permettait de lui infliger une peine privative de liberté maximale de sept ans et demi (peine la plus élevée, soit 5 ans x 1,5 en raison du concours).
L'autorité précédente a considéré qu'il importait peu de savoir si la recourante devait bénéficier de l'argent envoyé au Brésil; il suffisait de savoir qu'elle avait profité de fonds restés en Suisse, cela signifiant qu'elle avait bien, au moins pour partie, agi par intérêt personnel. Son dévouement familial, mâtiné de dessein d'enrichissement personnel, ne constituait pas un élément à décharge. La recourante avait manipulé I._, parce qu'elle l'avait poussé à commettre des actes constituant objectivement du blanchiment d'argent. Elle avait utilisé l'amour et la confiance que lui portait son fiancé, sachant que ce dernier ne poserait pas (trop) de questions. Cette manipulation était odieuse parce qu'elle s'était faite au détriment des sentiments amoureux et de la confiance de celui qui l'avait demandée en mariage. La volonté de collaborer et les aveux de la recourante devaient être pris en compte à décharge, mais ne justifiaient pas de retenir le repentir sincère. L'absence d'antécédent était un élément neutre du point de vue de la fixation de la peine. Enfin, le fait qu'il n'y ait pas de risque de récidive ne justifiait pas de renoncer à infliger à la recourante la peine que méritaient ses fautes.
En définitive, selon la cour cantonale, la multiplication des actes de blanchiment et d'entrave justifiait le prononcé d'une peine privative de liberté, dans le haut de la fourchette légale. Les autres infractions démontraient que la recourante ne respectait globalement pas l'ordre juridique. Pour des motifs de prévention, la recourante n'ayant pas vraiment exprimé de regrets, il se justifiait que ces infractions soient aussi sanctionnées par des peines privatives de liberté. Le concours d'infractions au sens de l'<ref-law> commandait ainsi une peine privative de liberté de quatre ans.
2.
La recourante estime sa peine disproportionnée au regard de celles infligées à Q._ et E._. Elle invoque une violation des art. 8 al. 1 et 9 Cst., ainsi que de l'<ref-law>.
2.1. Dans l'exercice de son pouvoir d'appréciation, le juge doit respecter, en particulier, le principe d'égalité de traitement (art. 8 al. 1 Cst.; <ref-ruling> consid. 3.2 p. 193 s.). S'il est appelé à juger les coauteurs d'une même infraction ou deux coprévenus ayant participé ensemble au même complexe de faits délictueux, il est tenu de veiller à ce que la différence des peines infligées aux deux intéressés soit justifiée par une différence dans les circonstances personnelles en fonction desquelles, conformément à l'<ref-law>, la peine doit être individualisée (<ref-ruling> consid. 3.2 p. 193 s.; <ref-ruling> consid. 2d p. 204 ss). En outre, il n'y a pas de droit à l'égalité dans l'illégalité, de sorte qu'il n'est pas admissible de réduire une peine considérée comme juste ou équitable au seul motif qu'elle apparaîtrait disproportionnée par rapport à celle infligée à un coaccusé (<ref-ruling> consid. 3.4 p. 195). Enfin, il n'y a pas d'inégalité de traitement lorsqu'une juridiction supérieure statue autrement que ne l'a fait une juridiction inférieure dans un cas analogue. Cela est particulièrement vrai lorsque l'instance supérieure n'a eu à connaître que du cas d'un des accusés et n'a pas eu la possibilité de revoir la peine infligée à un autre délinquant car elle n'a alors pas eu l'occasion de se prononcer sur la question de savoir si la sanction qui devrait servir de base de comparaison est correcte ou si elle a au contraire été prononcée en violation du droit fédéral. Lorsqu'il en est ainsi, l'instance supérieure n'est pas liée par la peine infligée à un autre délinquant par l'instance inférieure et il n'y a pas de violation du droit fédéral dans la mesure où elle fixe dans le respect de l'<ref-law> la peine qui lui est soumise (arrêts 6B_1263/2018 du 28 janvier 2019 consid. 4.5; 6B_1015/2017 du 13 mars 2018 consid. 4.4.1; 6B_454/2016 du 20 avril 2017 consid. 5.1).
2.2. La cour cantonale a constaté que E._ avait été condamné par ordonnance pénale du 7 mars 2018 à une peine privative de liberté de 180 jours. Il avait, à la demande de la recourante, envoyé 46'000 fr. sur un compte au Brésil en indiquant faussement qu'il en était l'ayant droit économique, réceptionné sur son compte une somme de 12'000 fr. provenant du butin qu'il avait remise, à la demande de la recourante, à D._ et conservé à son domicile les armes du braquage. Il avait reçu 20'000 fr. pour l'aide apportée. Par ailleurs, il avait séjourné chez la recourante et travaillé dans le restaurant qu'elle gérait sans autorisation.
Q._, quant à lui, avait été le chauffeur et le guetteur lors du brigandage et avait apposé des plaques volées sur sa voiture. Pour son rôle d'exécutant secondaire, il avait reçu une rémunération de 50'000 fr., dont il avait viré 4'500 fr. au Brésil. Il avait encore été reconnu coupable d'induction de la justice en erreur pour avoir affirmé faussement à la police qu'il percevait l'aide sociale à B._ et gagnait en sus de l'argent au noir, dans le but de tenter de justifier la provenance du butin en sa possession. Pour ces faits, il a été condamné par le tribunal de première instance à une peine privative de liberté de quatre ans.
2.3. Dans la présente cause, la cour cantonale a jugé uniquement la recourante et non Q._ et E._, qui n'ont pas porté leur cause en appel. L'autorité précédente n'ayant pas eu l'occasion d'examiner la sanction infligée aux prénommés, la recourante ne saurait déduire de celle-ci une quelconque violation du droit fédéral la concernant.
Au demeurant, les états de faits concernant chacun des intéressés divergent largement: la recourante et Q._ n'ont pas participé ensemble au même complexe de faits délictueux, de sorte qu'elle ne peut rien déduire en sa faveur de cette comparaison, qui apparaît d'emblée vaine. Par ailleurs, contrairement à ce que soutient la recourante, la cour cantonale ne lui a pas infligé une peine plus lourde qu'à E._ au motif qu'elle avait perçu une plus grosse part du butin que lui; le fait que la recourante ait touché une part du produit de l'infraction de blanchiment dix fois plus importante que celle de E._ confirmait simplement, comme cela ressortait déjà des faits constatés, que le rôle joué par E._ dans la commission de cette infraction était resté secondaire, tandis que la recourante avait pris une place centrale dans sa réalisation. Ainsi que l'a relevé la cour cantonale, la recourante avait été au coeur du système de blanchiment mis en place; elle en avait été l'animatrice, tandis que E._ n'avait été que l'un de ses pions.
Compte tenu de ce qui précède, les griefs de la recourante tirés d'une violation du principe de l'égalité de traitement doivent être rejetés.
3.
La recourante soutient que son absence d'antécédents aurait dû conduire la cour cantonale à prendre en considération une peine compatible avec le sursis.
De jurisprudence constante, l'absence d'antécédents a un effet neutre sur la peine (ATF <ref-ruling> consid. 6.3.2 p 70), de sorte que la recourante ne peut rien en déduire. La peine litigieuse, par quatre ans de privation de liberté, dépasse clairement la limite de trois ans au-delà de laquelle la peine ne peut être assortie d'un sursis partiel (<ref-law>) et très clairement celle de deux ans au-delà de laquelle la peine ne peut être assortie d'un sursis complet (<ref-law>). L'autorité précédente n'avait dès lors pas à examiner si une peine compatible avec le sursis partiel, respectivement complet restait dans son pouvoir d'appréciation. Le grief est infondé.
4.
La recourante reproche à la cour cantonale de ne pas avoir retenu la circonstance atténuante du repentir sincère, alors que ses révélations avaient permis l'arrestation de Q._. Elle soutient également que la cour cantonale n'a pas suffisamment pris en compte sa bonne collaboration dans la fixation de la peine.
4.1. Aux termes de l'art. 48 let. d CP, le juge atténue la peine si l'auteur a manifesté par des actes un repentir sincère, notamment s'il a réparé le dommage autant qu'on pouvait l'attendre de lui. Selon la jurisprudence, le repentir sincère n'est réalisé que si l'auteur a adopté un comportement particulier, désintéressé et méritoire. L'auteur doit avoir agi de son propre mouvement dans un esprit de repentir, dont il doit avoir fait la preuve en tentant, au prix de sacrifices, de réparer le tort qu'il a causé (<ref-ruling> consid. 1 p. 99 et arrêt 6B_1368/2016 du 15 novembre 2017 consid. 5.1 non publié aux <ref-ruling>).
Le seul fait qu'un délinquant ait passé des aveux ou manifesté des remords ne suffit pas. Il n'est en effet pas rare que, confronté à des moyens de preuve ou constatant qu'il ne pourra échapper à une sanction, un accusé choisisse de dire la vérité ou d'exprimer des regrets; un tel comportement n'est pas particulièrement méritoire (<ref-ruling> consid. 1 p. 113 s.; <ref-ruling> consid. 2a p. 289 s.). En revanche, des aveux impliquant le condamné lui-même et sans lesquels d'autres auteurs n'auraient pu être confondus, exprimés spontanément et maintenus malgré des pressions importantes exercées contre l'intéressé et sa famille, peuvent manifester un repentir sincère (cf. ATF <ref-ruling> consid. 2d/cc p. 206). La bonne collaboration à l'enquête peut, par ailleurs, même lorsqu'elle ne remplit pas les conditions d'un repentir sincère, constituer un élément favorable pour la fixation de la peine dans le cadre ordinaire de l'<ref-law>.
4.2. La cour cantonale a constaté que la recourante avait révélé, le 19 mai 2016 dans l'après-midi, que Q._ était impliqué dans le braquage comme chauffeur. Toutefois, la police avait déjà des soupçons contre l'intéressé - elle l'avait arrêté une première fois avant de le relaxer - et, le matin du même jour, l'audition de A._ lui avait permis de confirmer qu'il était bien impliqué. Il ne s'agissait plus que de définir son rôle exact. La recourante ne pouvait ignorer l'existence de ces soupçons puisque, lors de son audition du 11 mai précédent, d'une part, le défenseur de Q._ était présent et, d'autre part, elle avait signé un formulaire de rappel des droits et obligations mentionnant que l'enquête était notamment dirigée contre Q._. La volonté de la recourante de collaborer ne faisait aucun doute, mais elle savait que ce n'était qu'une question de jours avant que la police ne découvre la vérité au sujet de Q._. De même, les aveux de la recourante n'avaient fait que confirmer ce que la police savait déjà grâce aux écoutes téléphoniques et aux investigations bancaires, perquisitions et autres mesures d'instruction déjà effectuées. Il se justifiait d'en tenir compte à décharge, mais pas de retenir un repentir sincère. Le constat selon lequel l'argent que la recourante avait blanchi ou fait blanchir avait pour partie disparu permettait de retenir que la collaboration de cette dernière était restée limitée, la recourante ne pouvant se défausser de sa responsabilité après avoir viré l'argent à sa mère.
4.3. La recourante soutient que le raisonnement de la cour cantonale ne correspond pas au déroulement des faits tel qu'il est établi par le dossier d'instruction. Il en ressortait que c'était bien les révélations de la recourante, par l'entremise de son conseil, qui avaient conduit à l'arrestation de Q._. Qui de plus est, c'est à tort que le jugement entrepris retient que les aveux de la recourante n'avaient fait que confirmer ce que la police savait déjà, puisqu'en cas de soupçons suffisants à l'encontre de Q._, elle ne l'aurait pas relâché le lendemain de sa première audition. Aucune question n'avait d'ailleurs été posée à ce dernier en rapport avec le brigandage.
4.4. Il est tout à fait possible que la police ait entretenu des soupçons à l'encontre de Q._ à l'issue de sa première audition, mais sans que ces soupçons ne soient encore suffisants pour entraîner son placement en détention provisoire (cf. <ref-law>). On comprend par ailleurs que lorsque la cour cantonale indique que les aveux de la recourante n'avaient fait que confirmer ce que la police savait déjà, elle pense aux déclarations de celle-ci sur d'autres sujets, et non concernant Q._ (cf. consid. 4.5 infra). Le jugement cantonal n'est donc pas contradictoire sur ces points.
Il n'apparaît pas, à la lecture du procès-verbal d'audition de A._ du 19 mai 2016 (pièce n° 36), que celui-ci aurait été " confronté " aux propos tenus précédemment par le conseil de la recourante, qui n'avait d'ailleurs pas donné le nom du comparse en question. La police a cité devant A._ les noms des différentes personnes mises en cause et celui-ci, en désignant ceux qui n'avaient rien à voir avec le brigandage, a dirigé les policiers vers Q._. En ce sens, les aveux de la recourante n'ont pas joué un rôle indispensable dans l'identification de Q._ comme coauteur du brigandage. En outre, il ressort de l'audition de la recourante du 11 mai 2016 (pièce n° 29) que les policiers l'avaient questionnée sur l'identité des braqueurs et qu'elle avait prétendu ne pas connaître tous les participants. La recourante est ainsi revenue sur ses déclarations initiales mensongères, de sorte que ses aveux n'apparaissent pas spontanés, ce d'autant plus qu'elle savait que Q._ était visé par l'enquête. Enfin, il n'a pas été constaté que la mise en cause de Q._ aurait généré pour la recourante des risques de représailles, ni qu'ils l'auraient impliquée elle-même puisqu'elle avait précédemment admis les faits. Pour le surplus, la cour cantonale a retenu, sans que la recourante ne démontre l'arbitraire de cette constatation, qu'elle n'avait pas vraiment exprimé de regrets.
C'est, dès lors, sans violer le droit fédéral que le jugement cantonal n'a pas reconnu dans les aveux de la recourante un geste empreint d'un esprit de sacrifice particulier réalisant la circonstance atténuante du repentir sincère. Ce grief est rejeté.
4.5. Il reste encore à examiner si la cour cantonale a suffisamment tenu compte de la collaboration de la recourante au stade de la fixation de la peine (<ref-law>). La recourante lui fait grief d'avoir retenu contre elle le fait qu'elle n'avait pas été en mesure de donner d'informations sur l'affectation de l'argent au Brésil.
4.5.1. Selon la jurisprudence, une bonne collaboration à l'enquête, qui contribue à établir les faits, constitue un facteur d'atténuation de la peine (arrêts 6B_1085/2013 du 22 octobre 2014 consid. 5.3; 6B_265/2010 du 13 août 2010 consid. 3.3).
4.5.2. En l'espèce, la cour cantonale a retenu, à décharge, les aveux de la recourante ainsi que sa volonté de collaborer. Il était cependant pertinent de relever que ses aveux n'avaient pas permis de retrouver le butin qu'elle s'était employée à faire disparaître au Brésil et qu'ils n'avaient fait que confirmer ce que la police savait déjà grâce aux écoutes téléphoniques, investigations bancaires, perquisitions et autres mesures d'instructions déjà effectuées. En effet, il ressort des procès-verbaux - en particulier le procès-verbal d'audition du 10 mai 2016 p. 10 (pièce n° 28) - que la recourante, persistant tout d'abord à nier l'évidence, n'avait fini par avouer son implication dans la disparition du produit du brigandage qu'après avoir été confrontée à des preuves accablantes.
En définitive, il eût été plus juste de retenir que les aveux de la recourante n'avaient pas apporté de contribution à l'élucidation des faits, plutôt que de dire que sa collaboration était demeurée limitée parce que les fonds n'avaient pas été retrouvés. Il ne se justifie toutefois pas d'admettre le recours pour une simple question de motivation (cf. consid. 1.1 in fine). N'étant pas démontré que la cour cantonale n'aurait pas suffisamment pris en compte sa collaboration dans la fixation de la peine, ce grief doit être rejeté.
5.
La recourante soutient que la quotité de la peine est disproportionnée. Elle se prévaut d'affaires de blanchiment dans lesquelles des sanctions inférieures ont été infligées.
5.1. Toute comparaison d'une peine avec celles prononcées dans d'autres affaires est délicate, vu les nombreux paramètres entrant en ligne de compte, les disparités en cette matière s'expliquant normalement par le principe de l'individualisation des peines, voulu par le législateur (cf. ATF <ref-ruling> consid. 6.3.2 p. 69). Il ne suffit donc pas que le recourant puisse citer un ou deux cas où une peine particulièrement clémente a été fixée pour prétendre à un droit à l'égalité de traitement (<ref-ruling> consid. 3a p. 144 et les références citées), étant rappelé de surcroît que la plus grande retenue est de mise lorsque les points de comparaisons se rapportent à des sanctions prononcées dans le cadre de jugements cantonaux (arrêts 6B_430/2016 du 27 mars 2017 consid. 2.2.4; 6B_812/2015 du 16 juin 2016 consid. 3.1 et les références citées).
5.2. Dans le jugement de la Cour pénale vaudoise du 28 juillet 2015 cité par la recourante, le prévenu avait été condamné à une peine privative de liberté ferme de huit mois. Il avait réalisé quatre transferts d'argent entre USD 2000 et USD 3000, alors qu'il aurait pu se douter de leur provenance douteuse, et il avait reçu, pour chacune de ces transactions, une commission de 100 francs. Il avait en outre réalisé quatre cas d'escroquerie sur de petites sommes (env. 350 fr.). La recourante invoque aussi un jugement du 10 septembre 2012 de la Cour d'appel pénale vaudoise condamnant le prévenu à une peine privative de liberté de quinze mois pour s'être présenté à une reprise à la banque pour changer en coupures de 1'000 fr. un lot de billets de 100 et 200 fr., pour un total de 3'000 fr., provenant d'un trafic de stupéfiants de tiers. En outre, il avait posté une enveloppe à l'attention d'un tiers en Guinée Conakry contenant de nombreuses grosses coupures pour un total de 70'000 fr. et 21'700 euros, dont il devait savoir qu'ils provenaient d'un trafic de stupéfiants.
Dans ces deux affaires, l'ampleur de l'activité délictuelle et le montant des fonds blanchis est sans commune mesure avec le cas d'espèce, ce qui met à mal toute velléité de comparaison.
La recourante se réfère encore à un arrêt du Tribunal pénal fédéral du 20 octobre 2008 (SK.2007.25) condamnant la prévenue à une peine privative de liberté de douze mois pour avoir blanchi plusieurs centaines de milliers de francs provenant de la vente de cocaïne. Elle n'avait toutefois commis aucune autre infraction. A l'inverse, la recourante a été reconnue coupable, outre le blanchiment, de multiples faux dans les titres - infractions dont le plafond de la peine-menace est plus élevé que pour le blanchiment d'argent, cf. <ref-law> -, d'entrave à la justice et de violations de la LEI, d'instigation à blanchiment d'argent et d'instigation à faux dans les titres, notamment dans la mesure où elle avait mis en place et géré la " centrale " de blanchiment de l'argent issu du braquage et où elle avait impliqué de nombreuses autres personnes. Fondé sur un complexe de fait qui n'est pas comparable, ce précédent ne démontre dès lors pas non plus que la peine infligée à la recourante serait excessivement sévère.
5.3. En définitive, la cour cantonale a exposé toutes les circonstances sur lesquelles elle s'est fondée pour fixer à quatre ans, dans une fourchette allant jusqu'à sept ans et demi, la peine privative de liberté infligée à la recourante. La multiplication des actes commis, l'énergie criminelle déployée et son absence de scrupules lorsqu'il s'est agi d'entraîner d'autres personnes dans son sillage, en particulier l'homme qui l'aimait et lui faisait confiance ainsi que la famille de celui-ci, ont pesé lourdement dans l'appréciation de sa culpabilité. En outre, les divers agissements reprochés démontraient le peu de considération portée par la recourante à l'ordre juridique. Au regard de l'ensemble des éléments, l'on ne saurait conclure à un abus du large pouvoir d'appréciation accordé à la cour cantonale. Le grief de violation de l'<ref-law> doit par conséquent être écarté.
6.
Le recours doit être rejeté dans la mesure où il est recevable. Comme il était dépourvu de chances de succès, la demande d'assistance judiciaire doit être rejetée (<ref-law>). La recourante, qui succombe, supportera les frais judiciaires (<ref-law>), dont le montant sera fixé en tenant compte de sa situation financière.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 fr., sont mis à la charge de la recourante.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 26 juin 2019
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Musy