You don't specify that you're talking about continuous random variables, but I'll assume, since you mention KDE, that you intend this.
Two other methods for fitting smooth densities:
1) log-spline density estimation. Here a spline curve is fitted to the log-density.
An example paper:
Kooperberg and Stone (1991),
"A study of logspline density estimation,"
Computational Statistics & Data Analysis, 12, 327-347
Kooperberg provides a link to a pdf of his paper here, under "1991".
If you use R, there's a package for this. An example of a fit generated by it is here. Below is a histogram of the logs of the data set there, and reproductions of the logspline and kernel density estimates from the answer:
Logspline density estimate:
Kernel density estimate:
2) Finite mixture models. Here some convenient family of distributions is chosen (in many cases, the normal), and the density is assumed to be a mixture of several different members of that family. Note that kernel density estimates can be seen as such a mixture (with a Gaussian kernel, they're a mixture of Gaussians).
More generally these might be fitted via ML, or the EM algorithm, or in some cases via moment matching, though in particular circumstances other approaches may be feasible.
(There are a plethora of R packages that do various forms of mixture modelling.)
Added in edit:
3) Averaged shifted histograms
(which are not literally smooth, but perhaps smooth enough for your unstated criteria):
Imagine computing a sequence of histograms at some fixed binwidth ($b$), across a bin-origin that shifts by $b/k$ for some integer $k$ each time, and then averaged.
This looks at first glance like a histogram done at binwidth $b/k$, but is much smoother.
E.g. compute 4 histograms each at binwidth 1, but offset by +0,+0.25,+0.5,+0.75 and then
average the heights at any given $x$. You end up with something like so:
Diagram taken from this answer. As I say there, if you go to that level of effort, you might as well do kernel density estimation.