You can specific a sampler by doing
with pm.Model():
...
step = pm.Slice(vars=[s])
...
There is an example here http://docs.pymc.io/notebooks/api_quickstart.html?highlight=sampler (see cell [33])
In general, if you specify a sampler for each of the RVs in the model, PyMC3 will sample it in a Gibbs like fashion in the backend. However, please be very careful to analysis the result, as I am not sure the detailed balance and geometric ergodicity etc are always hold.