Stop limits are not marketable, they're limit orders. When the stop (trigger price) is hit, the order triggers a limit order. Your original question was about marketable limit orders which is something different. Anyway, a market order will always execute faster and more reliably as it is always immediately executable.
The solution i use (however this is for futures) is a limit buy order on the current ask. This way my limit order will buy in to the current ask and if there aren't enough contracts at the current ask price the remaining of my order will be the first in cue at the new bid. This guarantees a fast execution on the current ask but prevents large slippage if the market moves very fast.
This assumes that your quote is very current and your submission is fast. If the Ask moves up, your order will be too far away to fill and may not even be BestBid.
Any marketable limit sent above ask gets filled at ask, per US exchange rules. If you’re trying to snapshot the ask price at a specific time, and then send limit order at that price, then I guess that makes sense, but you might be left in the dust in a fast moving market, even index futures.
%% Buy it on bid, very liquid stocks, worked fine today; or use a market order, very liquid stocks.5 million or 50 million average day volume helps; chart level study may help. One million day volume could get in trouble/entry/exit , both ways; but not very often[Edit ; stocks priced >> $5.00]
Forexchief broker executes via market order, and o boy the speed is great. It is faster. I think slippages are more associated with limit orders from my experience.