Faits :
A.
Le 27 janvier 2012, D._ a déposé une demande tendant à la démolition du chalet situé sur la parcelle n° 17 du cadastre communal de Champéry et à la construction d'un immeuble résidentiel de sept appartements. D'une surface de 643 m2, la parcelle est située en zone village, à la jonction entre la rue du Village et la route des Rumières. Le projet a fait l'objet de l'opposition de l'hoirie A._ (soit B._ et C._), propriétaire de la parcelle 841 située de l'autre côté de la route des Rumières. Le 8 octobre 2012, le Conseil communal de Champéry a accordé le permis de construire et écarté l'opposition. Les opposantes ont saisi le Conseil d'Etat, puis la Cour de droit public du Tribunal cantonal valaisan. Par arrêt du 27 septembre 2013, celle-ci a admis très partiellement le recours des hoirs A._ et renvoyé la cause à l'autorité communale afin d'examiner la conformité du projet à l'art. 75a Cst. Les autres griefs, relatifs notamment au nombre d'étages, à l'intégration de la construction, au nombre de places de stationnement ainsi qu'à la hauteur de la toiture des balcons et terrasses situés en façades ouest et est, ont été rejetés.
B.
Le 20 janvier 2014, le Conseil municipal a confirmé le permis de construire avec un avenant imposant l'utilisation des logements comme résidences principales. La mention correspondante avait été inscrite au Registre foncier le 7 janvier précédent. Les opposantes ont à nouveau saisi le Conseil d'Etat, puis la Cour de droit public qui, par arrêt du 28 mai 2015, a rejeté le recours. La constructrice entendait habiter elle-même l'un des sept logements et un autre avait déjà trouvé acquéreur. Le bâtiment était situé au centre du village et bien desservi, de sorte qu'il n'y avait aucun obstacle pour une utilisation en résidence principale. Les recourantes relevaient que la population résidente avait tendance à décroître et que les logements vacants étaient nombreux. Toutefois, le projet était relativement modeste et l'existence d'un autre projet de la commune pour des résidences principales tendait à démontrer qu'il y avait une demande pour ce type de logements. L'abus de droit n'était pas démontré.
C.
Par acte du 29 juin 2015, B._ et C._ forment un recours en matière de droit public par lequel elles demandent l'annulation de l'arrêt cantonal et de l'autorisation de construire, subsidiairement le renvoi de la cause à la cour cantonale pour nouvelle décision. Elles demandent en outre l'effet suspensif.
La cour cantonale et le Conseil d'Etat ont renoncé à se déterminer. La Commune de Champéry conclut au rejet du recours. D._ conclut au rejet du recours dans la mesure où il est recevable.
Par ordonnance du 13 août 2015, la demande d'effet suspensif a été admise.

Considérant en droit :
1.
Le recours est dirigé contre une décision finale de dernière instance cantonale rendue en droit public des constructions. Il est recevable au regard des art. 82 let. a et 86 al. 1 let. d LTF, et a été formé dans le délai fixé à l'art. 100 al. 1 LTF. Les recourantes ont participé à la procédure devant l'instance précédente; leur qualité pour agir n'est pas contestable (art. 89 al. 1 LTF).
2.
Les recourantes se plaignent d'une violation de l'art. 75b Cst. Elles estiment, en se référant à l'arrêt 1C_348/2014 du 20 février 2015, que la volonté de la propriétaire de réaliser des résidences principales ne serait pas crédible: Champéry figure parmi les 2% de communes comptant le plus de logements vacants; il n'existerait aucune demande pour les logements prévus, au contraire des résidences secondaires; seuls deux des sept appartements construits auraient trouvé preneurs; la pancarte publicitaire apposée sur place annoncerait une vente autorisée aux étrangers et les prix proposés seraient surfaits par rapport au marché local. L'accessibilité de la commune et la proximité des commodités ne seraient pas des critères pertinents, pas plus que la construction de logements sociaux à proximité. Les explications de la constructrice ne seraient pas rassurantes et une instruction serait à tout le moins nécessaire sur ce point.
2.1. Directement applicable (<ref-ruling> consid. 10.6 p. 257), l'art. 75b Cst. limite les résidences secondaires au maximum de 20 % du parc des logements et de la surface brute au sol habitable de chaque commune (<ref-ruling> consid. 10.5 p. 257; arrêt 1C_916/2013 du 19 février 2015 consid. 3.2). Dans cette mesure, il ne vise pas seulement les constructions qui, selon les déclarations des intéressés, seront utilisées comme résidences secondaires, mais également celles qui pourraient être utilisées comme résidences secondaires (arrêts 1C_289/2013 du 28 octobre 2013 consid. 2.3; 1C_916/2013 du 19 février 2015 consid. 3.2).
2.2. Dans son ancienne teneur, l'art. 4 let. a de l'ordonnance sur les résidences secondaires (ORSec, RS 702.1) prévoyait que, dans les communes qui comptent une proportion de résidences secondaires supérieure à 20 %, des autorisations de construire ne peuvent être accordées que pour la construction de résidences qui seront utilisées comme résidence principale. L'art. 7 al. 1 let. a de la loi fédérale sur les résidences secondaires, (LRS, RS 702, entrée en vigueur le 1 er janvier 2016) comporte une réglementation semblable. La nouvelle ORSec, entrée en vigueur à la même date, prévoit à son art. 3 al. 1 que la servitude à mentionner au registre foncier en vertu de la LRS pour les logements soumis à une restriction d'utilisation doit avoir la teneur suivante: "résidence principale ou logement assimilé à une résidence principale au sens de l'art. 7, al. 1, let. a, LRS".
2.3. Face à l'interdiction générale de dépasser le seuil de 20 % de résidences secondaires dans une commune, on ne peut exclure que certains constructeurs soient tentés de contourner la réglementation en déclarant faussement qu'ils entendent utiliser leur construction en tant que résidence principale ou l'affecter en résidence touristique mise à disposition du public. Un abus de droit manifeste ne saurait toutefois être admis que s'il apparaît d'emblée que le projet ne pourra pas être utilisé comme annoncé, notamment en raison de l'insuffisance de la demande de résidences principales dans la commune en question pour le type d'objets concernés, et/ou en présence d'autres indices concrets (arrêt 1C_874/2013 du 4 avril 2014 consid. 4.5). Le respect de la condition d'utilisation du logement selon l'affectation annoncée doit être vérifié à l'issue des travaux par les autorités compétentes en matière de police des constructions (arrêt 1C_240/2014 du 24 octobre 2014 consid. 2.5).
2.4. La construction prévue comprend sept appartements de 2,5 à 4,5 pièces. Deux d'entre eux ont trouvé acquéreurs, le plus grand en la personne de l'intimée. L'immeuble est situé au centre du village, près des commodités et accessible toute l'année y compris par les transports publics. Les logements se prêtent ainsi aisément à une utilisation en tant que résidence principale et les prix annoncés n'en font pas des logements inaccessibles pour des habitants à l'année. Au demeurant, selon la jurisprudence, le constructeur supporte le risque de ne pouvoir vendre les logements comme résidences principales (cf. arrêt 1C_114/2015 du 10 juillet 2015 consid. 4.2.2). Le nombre et la taille des logements restent également mesurés. L'arrêt attaqué retient qu'un autre projet de construction pour ce même type de résidences est soutenu par la commune, ce qui vient confirmer l'existence d'une certaine demande dans le domaine. Dans ces conditions, un abus de droit manifeste ne saurait être retenu. Le grief doit être écarté.
3.
Dans un second grief, les recourantes se plaignent d'arbitraire dans l'application de l'art. 88 let. c du règlement communal des constructions et des zones (RCCZ), disposition limitant à 1m la hauteur entre la dalle du plancher et le niveau supérieur de la sablière. Elles estiment que les balcons couverts installés dans la toiture du bâtiment ne sauraient être assimilés à de simples lucarnes au sens de l'art. 88 let. d RCCZ. La disposition relative aux toitures devrait donc leur être applicables. La cour cantonale a admis que cette disposition aurait pour but de limiter les dimensions des combles mais tolérerait ces éléments de construction qui augmentent le volume habitable et sont sans rapport avec les constructions alentour.
3.1. Ce grief est dirigé non pas contre l'arrêt du 28 mai 2015, mais contre celui rendu précédemment le 27 septembre 2013. Il n'en est pas moins recevable, contrairement à ce que soutiennent l'intimée et la commune. Le premier arrêt est en effet un arrêt de renvoi contre lequel un recours immédiat aurait été irrecevable en application de l'art. 93 al. 2 LTF. Les recourantes sont dès lors habilitées à reprendre leurs arguments à l'encontre de cet arrêt à l'occasion d'un recours dirigé contre la décision finale (art. 93 al. 3 LTF).
3.2. Appelé à revoir l'interprétation d'une norme cantonale sous l'angle restreint de l'arbitraire, le Tribunal fédéral ne s'écarte de la solution retenue par l'autorité cantonale de dernière instance que si celle-ci apparaît insoutenable, en contradiction manifeste avec la situation effective, adoptée sans motifs objectifs et en violation d'un droit certain. En revanche, si l'application de la loi défendue par l'autorité cantonale ne s'avère pas déraisonnable ou manifestement contraire au sens et au but de la disposition ou de la législation en cause, cette interprétation sera confirmée, même si une autre solution - éventuellement préférable - paraît possible (<ref-ruling> consid. 2.4 p. 5; <ref-ruling> consid. 4.2 p. 560). En outre, il ne suffit pas que les motifs de la décision critiquée soient insoutenables, encore faut-il que cette dernière soit arbitraire dans son résultat (<ref-ruling> consid. 3.4 p. 53 et les arrêts cités).
3.3. De par leur importance (une largeur de près de 5,5 et 7,5 m, comprenant porte-fenêtre et fenêtre), les deux éléments litigieux se distinguent certes de simples lucarnes, ce que la cour cantonale a d'ailleurs reconnu dans son premier arrêt. Elles ne peuvent toutefois pas non plus se voir appliquer les dispositions relatives à une toiture ordinaire puisqu'il s'agit d'éléments distincts. La cour cantonale a en effet relevé que la limitation de la hauteur du toit tendait uniquement à conserver les caractéristiques des combles habitables. En revanche, les éléments tels que les balcons baignoires présentant un décrochement avec la toiture principale pouvaient déroger à cette exigence. Si celle-ci était applicable, cela imposerait une couverture en forte pente incompatible avec la réglementation communale. Dans la mesure où aucune disposition communale n'interdit spécifiquement les balcons baignoires pour des motifs d'esthétique ou d'intégration, cette appréciation, qui repose sur des motifs raisonnables, ne peut être qualifiée d'arbitraire.
4.
Sur le vu de ce qui précède, le recours doit être rejeté. Conformément aux art. 66 al. 1 et 68 al. 2 LTF, les frais judiciaires sont mis à la charge des recourantes, de même que l'indemnité de dépens allouée à l'intimée, qui obtient gain de cause avec l'assistance d'un avocat.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Une indemnité de dépens de 3'000 fr. est allouée à l'intimée D._, à la charge solidaire des recourantes.
3.
Les frais judiciaires, arrêtés à 3'000 fr., sont mis à la charge des recourantes.
4.
Le présent arrêt est communiqué aux parties, à la Commune de Champéry, au Conseil d'Etat du canton du Valais et au Tribunal cantonal du canton du Valais, Cour de droit public.
Lausanne, le 7 janvier 2016
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Fonjallaz
Le Greffier : Kurz