well the sunroof did the same exact on my 300E as well. basically when the temp is usually towards the colder side the sliders and the lubrications don't seem to work as great as they should. and therefore requires u to keep pressing that button to close it. at times when i tried the same during winter, as a test it wont close at all. I had to wait till it was a bit sunny during the afternoon to finally be able co close it all the way. There are posts in this forum regarding lubricating the sliders, take a look at those. they'll help but wont cure the situation completely.,
good luck !