I would guess ADO.NET is faster in most circumstances, but I would not recommend it because it just doesn't work very well. There are a host of problems, such as the data types for the columns being determined by making a guess based on the first few rows, as opposed to some other more reliable method. You're also limited in terms of flexibility, such as how you'd like to handle empty cells or cells with #N/A.
As for "interop", I'm not crazy about that either because (1) you have to have Excel installed, (2) you now have to deal with the cumbersome Excel API, and (3) you now have to worry about properly disposing COM objects (otherwise, you'll end up with Excel processes hanging around long after you're done with your import--see the first three answers in How do I properly clean up Excel interop objects?). That said, if you choose to use interop, you can speed things up by using arrays rather than the one-cell-at-a-time method (see Can you paste a block of cells in one shot using Excel Interop w/o using the clipboard?).
The option I've started using recently is EPPlus. This open-source project has many advantages over the two methods you asked about. First, I believe it to be at least as fast as ADO.NET, if not faster. Second, it doesn't require you to have Excel installed because it reads from and writes to the .xlsx file directly. The one disadvantage is that it won't work for Excel documents saved in pre-2007 format. One other disadvantage is that the API for EPPlus is somewhat unusual in places, and it can be a little confusing. If you choose to go this route, leave me a comment, and I can provide some good sample code to get you started.