I think the best option is to look into the exchanges you are currently using and choose the most beneficial way to buy crypto, rather than just looking for the best options based on people's opinions.
For me, I always prefer to purchase through P2P, but I do use other options if they're also free like P2P or if I find them very enticing or they come with extra value.
An example is when I recently used Google Pay to buy crypto on Bitget with zero fees and some bonuses, which I have not even used yet. This is also why I have multiple exchange accounts, because offers like this can be available on different exchanges. I've once gotten the same kind of offer from Binance a year ago, and I used my bonus to buy SOL, which increased more than 10x in value.