It's the way it's meant to be, so for right now, no.
For JSFML, I chose simple data structures to be immutable, ie they cannot be modified after construction. This can avoid a lot of potential pain when dealing with vectors and colors, for instance, passed as method parameters. I honestly would want to preserve consistency, but what I could do is introduce additional "copy"-like methods that return new instances. That might shorten the code a bit.
I know that it feels a little awkward to create new objects all the time, but that's probably the way of thinking when you come from C or similar worlds? Since you talk about "efficiency", I actually did a few benchmarks to compare this to the paradigm of publicly assignable fields. The performance difference was barely notable - the JVM is extremely efficient dealing with object re-allocation. I should repeat these benchmarks to get some referable data for this.