RVO is a compiler optimization but can provide a really useful performance boost. However it is not guaranteed and cannot be relied on.
Is there anything in the language standard itself can optimize return value? Move semantics still copies the members values, correct?
I don't know if I misunderstood your question, but (N)RVO is in fact "in the language standard itself". This is called copy elision and described in ยง12.8.31.
Indeed move construction is more computationally expensive than RVO, because as you said it still has to "copy" the member variables from one memory location to another (shallow copy of the object). RVO eliminates these read/write actions entirely.
(N)RVO works in the majority of cases, and where it can't (when a function can return one of multiple variables) move construction kicks in.
AFAIK there is a consensus that all cases of "optimizing return value" as you call it are sufficiently covered since C++11