Good way, bad way, another one.. not good and not bad.
Lets discuss about the bad way first
Cloaking
Yes. It is the bad way. Showing different to search engines and site visitors. Obviously Google hates it.
It is not good practice to show the flash content to the site visitor and text content in that flash to the search engines. There is a smart way to do this. But don't go for Cloaking or doorway page techniques. It comes under SEO black-hat technique.
Hiding text behind flash
This is not good and not bad. Not an SEO Blak-hat technique. But there is a rule. You must show the content same format which is exists in the flash movie but not any other text.
It is not a black-hat technique because you are not showing the different content or URL to the search engines and site visitors.
Well.. there is a better technique below..
using <noscript> tags
Interesting !!!
Call the flash movie using javascript and write your flash content html version in <noscript> tags. Obviously search engines ignores javascript and get the content which is in between <noscript> tags.
So.. It is supportable by Google itself. See: http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=66355
They mentioned
Provide the textual contents of JavaScript in a noscript tag.Finally i would like to repeat it. Sorry for repeating
Ensure the text you are showing in <noscript> tags is the same content and format in the flash move