The most often raised issue with using the block hash as a source of randomness is miner attacks. If sufficiently incentivized, a miner can see if a potential block is profitable for them or not. Here's some good reading on the topic:
That being said, if you are looking at deploying on Ethereum's mainnet, it is likely that with gas so high and the network so utilized that miners are incentivized to get a block out as fast as possible, and unless the stakes of your lottery get incredibly high (which is not impossible) that it will not be attacked by miners. It would still not be provably fair, as the thing about miner attacks here is that they are largely unprovable - the miner simply does not reveal that they had other solutions to the block.
When looking at the older material (such as these sources), there weren't necessarily any good solutions. Randomness on the blockchain is hard. As has been mentioned, there are good solutions. The two suggested by Gokul Alex (StarkWare Veedoo and Chainlink VRF) both come highly recommended. With (reasonably) easy solutions available, question whether you want to rely on randomness with a known attack vector.