The best I could get for my 1070s was 26 MH/s at 70 TDP, Core 100, and Memory 600 which keeps them below 70C; if i increase memory up to 620 the rig is unstable. One with double fan goes up to 29 MH/s.
I suppose you are in Windows?... the Serie 10x0 sometimes need to check if reducing Mhz of the memory goes faster... because the memory is making errors and the gpu tries to recheck... that makes a reduction of the Mhs too... and a decrease of the Memory Mhz helps to have less mem errors an increase the hashrate