You don't need to call constructor for struct:
MyStruct s; s.x = 15; // fine
But you won't be able to use this struct until all the fields are initialized. If you initialize a struct using a constructor, it is up to compiler to optimize this.
However, this always creates a new copy of vector and copies it to position.
myNode.position = new Vector3( 0f, 10f, 0f );
It would be interesting to look at CIL and compare various approaches.