I've been studying for Cisco for the last few months and ran into this question right away. Sort answer, it is not possible, as I'm sure you've come across in other searches.
Basically, the Catalyst hardware is proprietary, so it can't be emulated using software. Router hardware can be emulated, which is why GNS3 (dynamips) only needs an IOS image for a fully functional environment.
As you say, the best bet is to get a router IOS and use the NM-16ESW module (selectable by the Slots tab in the router properties). I am using the 3640 12.4-25d image (I don't think all IOS images support this module).
In case you felt compelled to hack a solution (as I did), a few hours of failure prompted me to contact a network engineer (6xCCIE!) who confirmed this is not possible and that NM-16ESW module was enough for him until he got to the CCIE level and then he just purchased equipment from ebay.
I have a fully functional test environment of my network here in case you have questions on setting up GNS3.
"Live as though you would die tomorrow, learn as though you would live forever."
CCNA, MCSA, MCTS, Sec+, Net+, Linux+, CEH