rclone serve sftp is probably more secure as it doesn't do anything else where as you'll have to tighten the security of the ssh server. As for speed of each - I did a very unscientific test on my laptop and discovered that they both run at about 300 MiB/s so will fill your 1Gbit or 10Gbit lan no problem. openssh was about 10% faster.
Some of the storage facilities that are supported by rclone and can be used in your case include:
Google Cloud Storage
Microsoft Azure Blob Storage
Any other server that supports SFTP, FTP, or WebDAV.
Choosing a particular storage location depends on your needs and preferences. If you already use one of the cloud stores listed above, this might be a good choice, as rclone can easily integrate with them. If you prefer to use SFTP via an openssh server, that is also possible. However, it is recommended to use SFTP only if you understand the security risks and have sufficient knowledge about security and server administration. In addition, it is recommended to use a VPN or SSH tunnel to protect data transmitted via SFTP.
I want to store the data locally on my root server instead of Public Cloud like Amazon S3. Just wondering what's the best protocol for connecting to the server from my client if i control both ends. I know security, i have set up some measures to protect ssh.