Is it better to use D3D with syncrefresh/throttle or DDraw with tripplebuffering ?
That's a false disjunctive.
If you're talking about GroovyMAME, syncrefresh/throttle should be used always when possible with both D3D & DDraw. When combined with -frame_delay, both methods are equivalent in terms of lag.
Triplebuffering is used when you want asynchronous flipping, either with D3D or DDraw. Multithreading must be enabled for triplebuffering to make sense.
Many people reporting that using D3D with vsync is less laggy than ddraw with tripplebuffering.
Maybe with regular MAME, not with GroovyMAME.
Note that I'm not using frame_delay generally as this caused some games to work at erratic speed even with various games in the same driver.
Don't trust the on screen speed percentage when using frame_delay. Use your eyes to judge if the scroll is smooth. If you notice any hiccup, lower the frame_delay value. This option needs to be adjusted game by game.