Faits: A. A.a X._, née en 1947, était affiliée à la caisse maladie Y._ SA (ci-après: la caisse ou l'assureur) depuis le 1er janvier 1997, notamment dans la catégorie «...»; cette assurance-maladie complémentaire pour perte de gain prévoit des indemnités journalières de 70 fr. dès le 31ème jour d'incapacité de travail. Le 9 mai 2003, l'assurée, professeur d'équitation à titre indépendant, a été victime d'un accident; elle a subi une lésion au dos qui a entraîné une incapacité de travail. Son assureur accident a pris le cas en charge jusqu'au 30 septembre 2004. Le 11 janvier 2005, l'avocat de l'assurée a demandé à la caisse que des prestations soient allouées à sa cliente, celle-ci ne percevant alors plus aucune indemnité journalière. Le 25 février 2005, la caisse a répondu à l'avocat qu'elle avait appris que l'assurée avait également conclu auprès de A._ une assurance d'indemnités journalières pour perte de gain en cas de maladie; en conséquence, elle lui demandait de lui faire parvenir une copie du contrat en question et des décomptes de prestations y relatifs. Le conseil de l'assurée a nié que les prestations garanties par A._ puissent avoir une influence sur celles de la caisse. A.b Par demande du 3 mai 2005, X._ a ouvert action contre la caisse en paiement de 50'400 fr., représentant 720 indemnités journalières de 70 fr. chacune. Elle faisait valoir que son droit aux prestations de la caisse était fondé sur une incapacité de travail entraînant un préjudice d'au moins 70 fr. par jour; elle contestait au surplus que le versement des sommes assurées par une tierce compagnie diminuât son préjudice et pût ainsi profiter à la défenderesse. Dans sa réponse du 28 juin 2005, la caisse a conclu au rejet de la demande. Elle a précisé toutefois que l'assurée conservait pleinement son droit aux prestations dès lors que, si l'incapacité de travail devait se prolonger, les indemnités journalières selon la couverture «...» seraient dues lorsque les prestations de A._ seraient épuisées. L'assurée a maintenu son point de vue dans sa réplique du 22 août 2005. La caisse en a fait de même dans sa duplique du 27 septembre 2005. Par lettre du 7 novembre 2005, X._, par l'intermédiaire de son conseil, a résilié la couverture d'assurance «...» avec effet immédiat, subsidiairement dès le 1er décembre 2005. Dans un courrier du 14 novembre 2005, la caisse a déclaré accepter la résiliation pour le 30 novembre 2005. Par jugement du 23 mars 2006 communiqué le 10 août 2006, le Tribunal des assurances du canton de Vaud a rejeté la demande; le chiffre II du dispositif a la teneur suivante: «Acte est donné à la demanderesse de ce que la défenderesse est d'accord de verser ses prestations lorsque celles de A._ seront épuisées et pour autant que l'incapacité de travail subsiste à ce moment-là.» Par arrêt du 19 avril 2007 (cause 5C.243/2006), le Tribunal fédéral a rejeté dans la mesure de sa recevabilité le recours en réforme que X._ avait déposé contre le jugement cantonal. Il a posé tout d'abord que l'assurance d'indemnités journalières conclue avec la caisse était une assurance contre les dommages alors que les indemnités journalières allouées par A._ relevaient d'une assurance de sommes. Dans un tel cas, il n'y avait pas lieu de prendre en compte les prestations versées par une assurance de sommes dans le calcul du préjudice subi par l'assuré, sauf disposition contraire figurant dans l'accord contractuel des parties. Comme de telles dispositions ressortaient en l'espèce des conditions générales pour l'assurance-maladie complémentaire (ci-après: CGA) et des conditions spéciales complémentaires (ci-après: CSC) applicables, la caisse n'avait à intervenir que lorsque A._ cesserait ses versements ou dans la mesure où cette compagnie n'indemnisait pas la totalité de la perte de gain de l'assurée. A.c Par lettre du 24 avril 2007, le conseil de l'assurée a demandé à la caisse de «fixer [ses] prestations dès la fin de celles servies par A._, conformément au chiffre II du jugement cantonal», qui était entré en force vu le rejet du recours en réforme. La caisse a alors invité l'avocat à lui remettre les décomptes des prestations versées par A._ afin de pouvoir déterminer l'étendue de ses propres prestations. L'avocat s'est exécuté et a proposé à la caisse de servir ses prestations à partir du 1er octobre 2006; il résultait en effet des décomptes précités que A._ avait cessé ses versements le 30 septembre 2006. Par lettre du 16 mai 2007, la caisse a fait savoir à X._ qu'aucune prestation ne pourrait lui être versée au-delà du 30 novembre 2005, date à laquelle avait pris effet la résiliation anticipée signifiée par l'assurée et acceptée par la caisse. Y._ SA s'appuyait sur l'art. 11 CGA stipulant que le droit aux prestations cesse à la fin du contrat. B. Par demande du 4 juillet 2007, X._ a ouvert action contre Y._ SA, concluant au versement par la défenderesse d'une somme de 50'400 fr., sous déduction des primes non encore payées de l'assurance «...» par 54 fr.60 par mois. Elle faisait valoir notamment que l'engagement pris par la défenderesse et constaté dans le jugement cantonal du 23 mars 2006 l'emportait sur l'art. 11 CGA. A titre subsidiaire, elle invoquait l'erreur essentielle, voire un abus de droit de la part de la caisse. Par jugement du 23 janvier 2008, le Tribunal des assurances du canton de Vaud a rejeté la demande. C. X._ interjette un recours en matière civile. Elle conclut à la réforme du jugement attaqué en ce sens que ses conclusions en paiement de 50'400 fr., sous déduction des primes non encore payées de 54 fr.60 par mois, sont admises. Y._ SA propose le rejet du recours.