I think SqlCommand is a clear winner because you don't need to wire up a different process. You can close the database connection as soon as you're done with it.
And then you can also distribute the application to machines that don't have sqlcmd available.