ladybugs and lace wings eat the eggs and baby hornworms. As Lindsay mentioned, the braconid wasps (tiny, stingless) parasitize them. In my previous location, where I had gardened for years and had tons of the flowers that attract the wasps, I hardly ever saw one that didn't have the white cocoons all over it.
So in the long run having lots of flowers to attract the wasps is a quite effective solution. That is flowers that have their nectar in tiny florets: sweet alyssum, yarrow, lemon balm, mints, anything in the carrot family if allowed to bloom [carrots, parsley, fennel, coriander, etc] marigolds, tansy, thyme. But that doesn't help you right now.
As Lindsay said you can just hand pick them and drop them into soapy water.
Bt should be effective against them, but it is not a poison and is not fast acting. It would take some days before you would know it was working.
It also helps to invite birds into your garden, with feeders, baths, houses. Mocking birds. robins, cat -birds, and brown thrashers are among the birds that will think your hornworms are a big treat. Presumably my chickens too, but we haven't had a chance to try that.
When your tomato plants are done, be sure to cultivate the top few inches of soil all around them. I did find one of these last year:
hornworm pupa, about four inches long.
Who knows how many more I didn't find!
