sequence
can be very straightforwardly defined as traversal with the identity function—i.e. in Haskell:
sequence = traverse id
Or in Scalaz 6 (from your second link above), the considerably more verbose:
def sequence[N[_], B](implicit
a: A <:< N[B],
t: Traverse[M],
n: Applicative[N]
): N[M[B]] = traverse((z: A) => (z: N[B]))
So yes, any type with a traversable instance can be sequenced (and it doesn't even need to be a monad).