The API is much faster. As with any web service, there is some over-the-wire overhead that'll cost you some performance. I don't think there is a "preferred" option. It depends on what you need to do. In general, use the API if the code executes on the server, and use the web services...