I personally knew an H-1B holder that was ratted out to their current employer by an unscrupulous HR department as punishment for not taking a poor offer and refusing to switch! His "punishment" lasted years and definitely affected his income. I say the term "indentured servant" definitely applies.
I can't speak to other locales, but in the Bay Area I've found no shortage of employers willing to take sponsorship of an H1-B visa holder. Not all such companies are willing or able to then sponsor a green card if the employee wishes to stay in the US permanently, but many of the larger companies will also do this.
It can get a little ropey towards the end of the H1-B period - some companies will not hire people who are down to only one or two years on their visa. So, if you want to stay then after the first few years in the country, you'll need to start thinking about finding a place that will sponsor your green card.
[1] This does, unfortunately, mean that it's not always possible to give as much notice as one would like. Nonetheless, the standard courteous notice period in the US seems to be about 2 weeks - much less than the 4-6 weeks common overseas - and most new employers are okay with that.