Your tittle is a bit misleading :) because ftp/sftp are file transfer protocols, while vpn isn't, they're not the same thing, so we can not really compare them.
Why does your client want to use a vpn? is it only for security reasons?
If I understand correctly, your question can be presented like this:
Client sites ------> VPN---ftp----> Central server
Vs.
Client sites---sftp--->Central server
I would say, doing a lot of file transfers via a vpn will just be an extra layer that slows down the transfer. Additionally, you will have to pay for the traffic of that vpn.
Also, If the vpn you use is not reliable enough, you might also end up with a lot of downtime for that vpn, thus suspending the entire process even though both endpoints are up and running.
If the VPN endpoint is the same machine as the FTP server, then FTP over VPN is as secure as SFTP. In any other circumstance, SFTP would be likely more secure.
You can still do sftp over vpn if you wish, but it's useless.
Also, do not forget that A VPN only provides encryption between your computer(client sites) and the VPN endpoint so part of the connection will be un-encrypted, attackers can intercept the connection, so using sftp since the beginning is better.