I usually pass a callable, because it is less typing. I doubt there is any reason to extend Thread... unless you have a reason to extend Thread... Most of the reasons I can think of off the top of my head can be handled by decorating the callable (or just adding code to it directly).
If you are new to Python threads, be aware that they are often not very efficient (better conceptually, maybe, but probably not very fast). See, for instance http://www.grouplens.org/node/244
Agree it might be better, depending on what you really need. Threads and processes are similar enough that early Linuxen used "light weight processes" to do threading (and for all I know, maybe they still do); do obviously Python can do something similar.