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.