> Might there not be better ways of rewarding that work instead?
sure there could be, but no matter what solution you come up with to any problem, there's always a possibility that there is a better solution out there that nobody has thought of yet.
In the case of pharmaceutical research, there does not seem to be a lot of option.
either you decide that all research should be government funded
In this case, the government bureaucrats are the ones who decide what research gets done. This is something many people see as a bad choice.
or you want to have the private sector do the research
In this case you need some way for the companies doing the research to get their cost of research back, plus a profit. Including the cost of research for the drugs that fail.
Patents work in this field in that they allow for this profit to be generated.
Are there other ways that this could be done? Probably, but I haven't heard anyone suggest anything that sounded plausable to me. Let alone pointing at something that has been tried anywhere in the world that has worked better.