Reading sine wave output using arduino analogread()

This depends on the nature of the signal. In particular, what information you need to extract from it. You are limited by orders of magnitude in the available sample rate, but since you are (or seem) focused on amplitude peaks, you could take spot samples for example. That would give you a very slow but believable quantity. The built in problem is that by its nature, averaging or low pass filtering defeats peak measurements. So for spot sampling, you would not filter at all. As you know, a peak detection function must have some defined fall off rate, which can be zero if necessary. But most applications of peak detection have a slow fall off to zero, in order to differentiate between this peak and the next one.

Peak detection is effectively an active filter, in the analog domain the difference between charge/discharge is provided by a diode or synchronized transistor switch. In fact, it makes an interesting question to ask, "have you thought about using a diode-RC peak detector, in front of the ADC?".

In another example, sometimes excessive frequency can be handled with digital prescalers or IF downconversion.

Else as far as I can see, if you need something in the range of a few microsecond response, then you would need the high speed ADC hardware.