It's one way to think, but as SFML intend to be an abstraction for the windowing system, I think it should be natural that it support custom events, like most others windowing libraries (Win32, Qt, wxWidgets...). And as I said, it would be more elegant to handle events in one unique way, rather than wrapping SFML events into a custom made events system just for adding trivial custom events.