  We improve the current best bound for distinct distances on non-ruled
algebraic surfaces in ${\mathbb R}^3$. In particular, we show that $n$ points
on such a surface span $\Omega\left(n^{32/39-\varepsilon}\right)$ distinct
distances, for any $\varepsilon>0$. Our proof adapts the proof of Sz\'ekely for
the planar case, which is based on the crossing lemma.
  As part of our proof for distinct distances on surfaces, we also obtain new
results for distinct distances between circles in ${\mathbb R}^3$. Consider
point sets ${\mathcal P}_1$ and ${\mathcal P}_2$ of respective sizes $m$ and
$n$, such that each set lies on a distinct circle in ${\mathbb R}^3$. We
characterize the cases when the number of distinct distances between the two
sets can be $O(m+n)$. This includes a new configuration with a small number of
distances. In any other case, we prove that the number of distinct distances is
$\Omega\left(\min\left\{m^{2/3}n^{2/3},m^2,n^2\right\}\right)$.
