<p>When using feature descriptors [like SIFT, SURF] - is Approximate Nearest Neighbour the fastest method to do matching between images?</p>

I'd say that Euclidean distnace based nearest neighbor would be the easiest to implement, but not necessarily the fastest.
I'd agree that approximate nearest neighbor or 'best bin first' would be the quickest at identifying which image in your background set most closely resembles the probe image.
If your trying to identify a single object in the image, things will be a little more difficult.