CanSeek seems to be read-only for the stream.
Yes, I was meaning to implement something like this inside SFML.Net:
if (stream.CanSeek)
stream.Seek(...);
... so that non-seekable streams could work as long as you're not using this feature. But as I write this I realize that it would be useless: if the exception is thrown, it means that the Seek function is called somehow, so the solution would be to check SFML code and find out why it is called, and remove this call if it's not strictly needed. Based on what I've found, it could be done for the Music class.
It fails when getting the length of the stream
Hmm true, Length is not supported too. I don't know if we can avoid this one, I haven't got full control on it in SFML. It is used deeply inside libsndfile, which is a dependency of SFML. I could investigate though.