Of course there is no reason to use D3DFVF_XYZRHW for 3D. Only for 2D.
For sprites, for example, modification of vertices in vertex buffer and drawing all sprites in a single DIP (DrawIndexedPrimitive) will be a lot faster than setting a matrix and drawing each sprite with its own DIP.