The reason why filter.module removes style tags is simple: some dumb browsers allow JavaScript inside stylesheets, for example "font-size:expression(prompt('Enter a font name:', 'Arial'));". Using that you could execute potentially harmful JavaScript code that allows for XSS.