Based on your comments of
list in sharepoint 2010 that has a few columns from this table and a
few other unrelated columns as well
and
sync this list with the table in SQL server whenever he wants to
using an External Content Type (ECT) with the SQL Server table as the data source, and then adding those fields as External Columns to your list is the best approach.
Connecting to the ECT using External Columns will allow you to retain your "few other unrelated columns" in the list. Also, the information doesn't automatically update (except when adding or editing an item) for the whole list. So the SharePoint admin can choose when to do bulk refreshes (with the little refresh icon that shows up in the external column) when he desires.
If you just created an External List from the ECT, you would not have the other unrelated columns, and the data in the list would always refresh to show what is in the database table.
You also asked
are there other good methods that I haven't mentioned?
You could create a SQL Server Integration Services (SSIS) package to update the SharePoint List from the SQL Server database and schedule that to run with SQL Server Agent or the Windows Scheduler (or have it run as-needed by your SharePoint Admin).
You also could write a Powershell script that would do the same thing, i.e., read the values in from the database and update the items in the list. The script also could be scheduled or run manually.