Performance wise you could probably answer this either way depending on how you set things up. One wrong move could throw either off the rails. The real difference probably comes down to effort and organization instead. I personally would use behavior trees because those already automate a lot of the code you could be writing in your own scripts.
For example, you could see better performance by ticking your AI tasks at a slower pace than frame by frame (which you’d have to do with custom timers in blueprint instead). Some of the testing around ‘have I reached my target yet’ / ‘should I pick a new target’ is really easy in a tree. EQS queries might be super handy in your case, even for something passive. On the flip side, if you’re new to behavior trees you might have to spend a bunch of time trying to figure them out.
Regarding organization, writing your own scripts right inside one AI blueprint might be more appealing to you than having some code in a tree, some code in tasks, some code in the AI, etc. I’d still go with trees because a lot of those tasks etc could be reused for other AI. But if you’re doing something super simple, these advanced tools might be overkill.
You have to assume that performance is important to everybody working with AI. So, try to answer this question: Are you smarter than Mieszko Zielinksi? If yes, then maybe your own custom scripts would be better than using trees - I just doubt it personally…