I prefer using an <img> with alt text, because this is the most accessible option.
That method
may not be good for
SEO, however. Because alt text is susceptible to keyword stuffing, Google
might discount it.
There are numerous text replacement solutions. All produce accessibility problems, but some are much worse than others. These methods
may also be viewed as suspicious by Google. Moving text offscreen could be just as abusive as stuffing alt text.
Ultimately, we just don't know. I suspect that Google analyses the content to see whether it's abusive, rather than applying a blanket condemnation to particular code elements. In either case, all the methods are open to abuse; therefore I prefer the most accessible one (alt text).