Faits :
A.
Le 10 mai 2012, le Conseil communal de Sion a accordé à la SI E._ SA l'autorisation de construire un immeuble de vingt appartements répartis sur cinq niveaux avec parking souterrain sur la parcelle n° 1412 de la commune de Sion. L'opposition formée par A._, A.B._ et B.B._, C._ et D._ (ci-après: les opposants, propriétaires d'appartements situés dans le voisinage) a été rejetée.
Les opposants ont saisi successivement le Conseil d'Etat puis la Cour de droit public du Tribunal cantonal valaisan. Par arrêt du 19 avril 2013, cette dernière a partiellement admis le recours. Le système de ventilation et d'évacuation de la fumée du parking souterrain ne figurait pas dans la demande d'autorisation de construire, pas plus que la pompe à chaleur. La cause était renvoyée à la commune afin qu'elle statue à titre complémentaire après examen par le service de la protection de l'environnement. Le règlement communal de construction et de zones (RCCZ; qui permet de faire abstraction des lucarnes n'excédant pas le tiers de la longueur de la façade) imposait une hauteur maximum de façade de 14 m, qui valait aussi pour la hauteur maximum des bâtiments. L'art. 22 de la loi cantonale sur les constructions (LC, qui impose de tenir compte des lucarnes) ne s'appliquait que pour fixer les distances aux limites. L'alignement routier était seul déterminant pour fixer la distance à la limite du côté nord. En revanche, la distance à la limite était insuffisante du côté sud-est; le projet devait être remanié sur ce point également et la cause renvoyée au Conseil communal. Les travaux ne pouvaient débuter avant l'entrée en force de l'autorisation à requérir sur ces différents points.
B.
Par arrêt du 3 juin 2013 (1C_553/2013), le Tribunal fédéral a déclaré irrecevable le recours formé par les opposants, en raison du caractère incident de l'arrêt attaqué. Les recourants pourraient contester la décision complémentaire de l'autorité communale, le cas échéant directement auprès du Tribunal fédéral s'ils devaient ne rien trouver à redire à cette nouvelle décision.
C.
Le 18 juillet 2013, la commune de Sion a délivré un permis complémentaire contre lequel les opposants ont à nouveau recouru, en vain, auprès du Conseil d'Etat et du Tribunal cantonal. Dans son arrêt du 8 juillet 2014, ce dernier a écarté les griefs relatifs à la distance aux limites de la façade sud-est et au bruit des installations de ventilation et de pompe à chaleur, sous réserve d'une violation d'ordre formel réparée en instance de recours.
D.
Par acte du 11 septembre 2014, les opposants forment un nouveau recours en matière de droit public concluant derechef à l'annulation de l'arrêt du 19 avril 2013 et à celle des permis de construire en ce qui concerne les lucarnes situées au nord de la toiture. Subsidiairement, ils demandent le renvoi de la cause à l'autorité cantonale pour nouvelle décision au sens des considérants. Ils requièrent l'effet suspensif, qui a été refusé par ordonnance du 10 octobre 2014.
La cour cantonale a renoncé à se déterminer. Le Conseil d'Etat et la Ville de Sion concluent au rejet du recours. L'intimée SI E._ SA conclut à l'irrecevabilité du recours, subsidiairement à son rejet et à la confirmation des décisions attaquées. La Ville de Sion a complété ses déterminations par la production de pièces nouvelles, ce à quoi se sont opposés les recourants, lesquels ont en outre persisté dans leurs motifs et conclusions.
Considérant en droit :
1.
Dirigé contre une décision prise en dernière instance cantonale (art. 86 al. 1 let. d LTF) dans le domaine du droit public des constructions (art. 82 let. a LTF), le recours est en principe recevable comme recours en matière de droit public selon les art. 82 ss LTF, aucune des exceptions prévues à l'art. 83 LTF n'étant réalisée.
1.1. En tant que propriétaires directement voisins du projet litigieux, les recourants sont particulièrement touchés par l'octroi du permis de construire qu'ils contestent. Ils peuvent ainsi se prévaloir d'un intérêt personnel et digne de protection à l'annulation de l'arrêt attaqué et ont dès lors qualité pour agir au sens de l'art. 89 al. 1 LTF.
1.2. Dès lors que les griefs des recourants portent exclusivement sur les motifs retenus dans l'arrêt incident du 19 avril 2013, et non sur les modifications et précisions apportées ultérieurement et confirmées par l'arrêt du 8 juillet 2014, les recourants sont habilités à reprendre les critiques formulées contre le premier arrêt cantonal (arrêt du 3 juin 2013, consid. 2.4 in fine). Les recourants ont agi dans les trente jours dès la notification du second arrêt (art. 93 al. 3 LTF). Ils n'avaient pas à prendre de conclusions spécifiques à l'encontre de cet arrêt, dès lors que leurs critiques ne portent plus sur les points examinés à cette occasion.
1.3. Avec sa réponse, la Ville de Sion a produit des photographies censées attester de l'existence de nombreuses superstructures du même genre que celle qui est présentement contestée. Il s'agit toutefois de pièces nouvelles, ne figurant pas au dossier cantonal, dont il n'y a pas lieu de tenir compte conformément à l'art. 99 al. 1 LTF. L'existence d'une pratique constante dans ce domaine ne ressort pas non plus de l'arrêt cantonal, et il ne s'agit pas, comme on le verra ci-dessous, d'un élément pertinent.
2.
Se plaignant d'une application arbitraire du droit cantonal et communal, les recourants estiment que l'élément de 13,7 m de long et 2,8 m de hauteur comportant quatre lucarnes (de taille identique aux autres fenêtres de l'immeuble) devrait être pris en compte dans le calcul de la hauteur de la façade nord du bâtiment, dans la mesure où cet élément prolonge la façade, qu'il ne s'inscrit pas dans la pente du toit et qu'il dépasse le volume de 3 m3 fixé à l'art. 14 LC. Il serait insoutenable de considérer que le mode de calcul prévu par le droit cantonal ne s'appliquerait que pour le calcul des distances aux limites.
2.1. Une décision est arbitraire au sens de l'art. 9 Cst. lorsqu'elle viole gravement une norme ou un principe juridique clair et indiscuté, ou lorsqu'elle contredit d'une manière choquante le sentiment de la justice et de l'équité. Le Tribunal fédéral n'a pas à déterminer quelle est l'interprétation correcte que l'autorité cantonale aurait dû donner des dispositions applicables; il doit uniquement examiner si l'interprétation qui a été faite est défendable. Par conséquent, si celle-ci ne se révèle pas déraisonnable ou manifestement contraire au sens et au but de la disposition ou de la législation cantonale en cause, elle sera confirmée, même si une autre solution paraît également concevable, voire préférable. De plus, il ne suffit pas que les motifs de la décision attaquée soient insoutenables, encore faut-il que cette dernière soit arbitraire dans son résultat (ATF 138 I 305 consid. 4.4 p. 319).
2.2. Selon l'art. 11 al. 1 de la loi cantonale sur les constructions (LC), la hauteur des bâtiments est fixée dans les règlements communaux. Selon l'art. 95 RCCZ, en zone CIII du centre, la hauteur de façade maximum est de 14 m. Comme le relève la cour cantonale, le règlement ne fixe pas, pour ce type de zone, de hauteur maximum des bâtiments, de sorte que la seule limitation de hauteur applicable est celle des façades. Cela n'est pas contesté par les recourants. L'art. 78 let. a RCCZ fixe le mode de calcul de la hauteur des façades de la façon suivante:
Dans les zones de centre (...), la hauteur d'un bâtiment est mesurée au milieu de la façade principale la plus haute. Elle se mesure sur une verticale, du point le plus bas du sol naturel (ou du sol aménagé s'il est plus bas), jusqu'à l'intersection de la façade avec la ligne supérieure du toit (...).
La disposition du droit cantonal traitant de la hauteur des constructions est l'art. 11 LC, de teneur semblable à l'art. 78 let. a RCCZ. L'art. 22 LC, invoqué par les recourants, traite des distances à la limite et il n'est dès lors pas arbitraire de refuser de l'appliquer à la question de la hauteur des façades. Il n'est pas non plus insoutenable de renoncer à appliquer la définition de "hauteur des façades" figurant dans le glossaire adopté par le Conseil d'Etat en application de l'art. 14 LC, car cette définition se rapporte elle aussi à la hauteur servant à calculer les distances aux limites. Le règlement communal admet en outre la présence de lucarnes et d'ouvertures dans les toitures, limitées au tiers de la longueur de la façade du dernier étage (art. 93 let. a RCCZ). Les recourants ne contestent pas que cette dernière exigence est bien réalisée. Ils prétendent en vain que l'élément litigieux ne correspondrait pas à la notion de lucarne. Le règlement ne fixe en effet pas d'exigences particulières pour ce type d'élément, hormis "une forme adaptée à l'architecture du bâtiment, d'une part, au caractère du quartier d'autre part". Le droit cantonal ne pose lui non plus aucune définition; seule une simple illustration figure dans le glossaire. Or les recourants n'expliquent pas en quoi l'élément litigieux ne pourrait pas être assimilé à la lucarne à un pan (élément en retrait de la façade et à toit plat) telle qu'elle est représentée sur cette illustration.
Dès lors, quand bien même la thèse des recourants serait également défendable (compte tenu en particulier de l'impact visuel de l'élément litigieux sur une partie de la façade nord), l'arrêt attaqué ne saurait être qualifié d'arbitraire.
3.
Sur le vu de ce qui précède, le recours est rejeté. Conformément aux art. 66 al. 1 et 68 al. 2 LTF, les frais judiciaires sont mis à la charge des recourants, de même qu'une 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 SI E._ SA, à la charge solidaire des recourants.
3.
Les frais judiciaires, arrêtés à 3'000 fr., sont mis à la charge des recourants.
4.
Le présent arrêt est communiqué aux mandataires des parties, à la Commune de Sion, au Conseil d'Etat du canton du Valais et au Tribunal cantonal du canton du Valais, Cour de droit public.
Lausanne, le 19 janvier 2015
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Fonjallaz
Le Greffier : Kurz