As there are many comments but no answer, let me just sum up some of the comments.
Solving a PDE or doing some probability?
Usually when one wants to solve the SDE they get a distribution for $X$. In the real world though it is often more useful know some of the properties of this distribution, such as its expected value $\mathbb{E}(X)$, or more generally $\mathbb{E}(f(X))$. We know by the Feynman-Kac theorem that solving this expectation (possibly a conditional expectation) also corresponds to solving a PDE. It is then up to you to decide what is easier, solve a PDE with some tricky boundary conditions, or find an expectation with some strange conditional statements? Each has there own advantages and disadvantages, but the bulk of it really boils down to dimensionality.
PDEs can become very nasty very quickly
If we only have one driving Brownian motion and we are solving for a scalar random variable, it is likely best to formulate the problem in its PDE form (where possible), as solving PDEs in 2-dimensions is a pretty easy job for most computers. So unless you have some very nasty boundary conditions this will likely be your best shot. However, in real world applications there do exist many nasty boundary conditions, think Barrier options, Asian options, etc, and these then start to correspond to moving boundary value problems and worse.
When dimensions become very large
A very simple disadvantage of a PDE solver, is that ultimately it will likely boil down to producing some sort of grid or lattice, and then use finite difference or something similar. Typically you can't solve PDEs in the whole of $\mathbb{R}^d$ and so you consider some volume and put points equidistantly spaced in each dimension. Even with a modest 2 points in each dimension if you have a 50 dimensional SDE to solve (not uncommon in some basket options or if you want to model an index or a set of currency exchanges) then you will require a grid of $2^{50} \approx 10^{15}$ points, which is about a petaflop of data.
However, framing this as a Monte Carlo problem using $N$ random numbers then the error scales as $N^{-1/2}$, which doesn't depend on the problem dimension, and hence this is likely the only feasible way to solve such high dimensional problems.
Boundary conditions are now easy (easier)
Of course if you've written a Monte Carlo solver and a PDE solver it is quite clear that the first is usually easier. Now implementing any exotic function $f$ is fairly trivial, and this is true for most types of exotic options. There are now some new subtleties about introducing biases from various estimators and schemes but these are usually for the more advanced stuff.
Calculating Greeks
It should also be said that there are a few simple (and complicated) ways to compute the derivatives (aka Greeks) of these expectations with respect to the SDE parameters. In Monte Carlo you can use the same scheme to simply bump the simulation into giving you a derivative, use likelihood ratio or pathwise sensitivity methods, or you can do more complicated methods such as algorithmic differentiation. Some of these give you some Greeks (nearly) for free. However, as far as I can tell if you want to do the same thing using the Fokker-Planck approach then you have much more awkward PDEs to start solving.
Accuracy
If the dimensionality is small then the PDEs will likely give you the most accurate answer the quickest, and possibly the only route to a very accurate answer if you need one (without renting out a super computer cluster). However, as noted in the comments by Quantuple, if you have a good bit of knowledge about the problem you can get some very accurate answers with some variance reduction techniques, and cut down the compute time with things such as QMC or MLMC, etc.
Have you got to code it up?
If you've got to code it up, then without doubt it will probably be much easier to implement a simple Euler-Maruyama scheme as part of a Monte Carlo program. Of course there are exceptions, but I think there are more pitfalls and difficulties in solving PDEs than just producing a ton of random numbers.
Summary
If the dimensions are small, the SDE not too nasty (think autonomous and Lipschitz), and you're not interested in anything too complicated to do with $p(x,t)$, then maybe go for the Fokker-Planck route. Otherwise it's likely Monte Carlo is a safe bet.
Disclaimer I work a lot with Monte Carlo schemes and less with PDE solvers, so please feel free to add anything I have missed/neglected.