The only reason macros times are slower than manual is because you cannot lined up GCD (2.x seconds) with macros <wait.x> command. The wait command only honours seconds and all decimal seconds are rounded. Thus, your actions takes 3 seconds, instead of 2.4 seconds manually.
This was done intentionally because the devs want people manually to play the game, not provide a fully functional programming system within the game to make it easier for the bots.

Of course, this decision only hurts real players because anyone building a bot would just use more lines of code in their external program which interfaces with computer controls (keyboard and mouse pointers) with all the timings, etc... Just look at all the gathering and RMT bots everywhere.

I wish mining/harvesting was an action, and not a selection, which I could macro. Push one button and swing x times. Like I said, these decisions revolving around macros only hurt real players and do nothing to imped the bots.