SyncVars will sync the properties on all instances of a network object with those of the authoritative instance.
By default the authoritative instance of a network object is the one on the server. Player objects are special in that they are local player authoritative. The local instance of the player object is the authority for its SyncVars, and it is allowed to send Commands to the server.
So to answer your question: The SyncVars on player objects should automatically sync from the local client. To sync properties from the server, You need to use a ClientRPC instead.
With the release of Unity 5.2 it is possible to assign a remote client ownership of a non-player object, so that can also send Commands to the server.