For a given property of type Vector3 (struct). If I set a custom EditorAttribute on the property, the binding with the custom editor's Value will be properly set to TwoWay:
If on the other hand use a DataTemplateSelector on the property grid (to avoid having to specify the Editor attribute on every Vector3 property) with the AutoBindBehavior in the DataTemplate, the binding will be OneWay. Looking in ILSpy (PropertyGridEditorFactory.GetBindingMode) it looks to only support TwoWay with primitive types.
I would expect the same BindingMode whether I use the EditorAttribute or a DataTemplateSelector with the AutoBindBehavior.