1) I haven't tested all my constraint models with both SMT and SAT solvers, but in my experience there are not many problems that are generally faster with Picat's SMT module than Picat's SAT solver. Sometimes SMT (especially the z3 solver) is faster for smaller instances but often SAT is then faster for larger problems.
One example that I remember where SMT is faster than SAT (and CP) is Euler problem 345:
http://hakank.org/picat/euler345.pi (see the timings in the model), though the MIP solver (CBC) is the fastest.
It is quite nice that it's quite simple to test different solvers in Picat.
2) Note: Most of my knowledge of SMT is via Z3/Python and by converting my CP models to Z3, see
http://www.hakank.org/z3/ (see comments below)
SMT has some features that is not supported via Picat SMT module:
* pop/push of the context of a model, e.g. incremental solving a model
* soft constraints
* arbitrary large integer/float types. For the SMT module, Picat supports only integers in the range -2**56..2**56.
Note that Picat's SMT module does support SMT's logics, so one can play with this with the options of solve/2, e.g.
solve($[z3,logic("QF_LIA"], Vars)
I should say that for my Z3/Python models, most of them are quite (often much) slower than my Picat models. In part this is because Z3 does not have support for certain global constraints such as cumulative, global cardinality, element etc so I had to implement them in Z3/Python. Though a different encoding might be faster.