How are interplanetary trajectories found? How are interplanetary trajectories that involve gravity assist maneuvers found?
Examples:


*

*the MESSENGER spacecraft made flybys of Earth, Venus, and Mercury before getting into orbit

*the Juno spacecraft will flyby Earth (returning after launch) before continuing to Jupiter

*many more...


Are these found using a brute force search of virtually all possible paths or is there a more direct method for finding these helpful alignments?
If I decided to leave for Neptune today (using gravity assist), how would I find a good route and are such tools available on the desktop?
 A: 
If I decided to leave for Neptune today (using gravity assist), how would I find a good route and are such tools available on the desktop?

I don't know about the 'find[ing] a good route' stuff, but my understanding is that the main tool used for these calculations is the SPICE Toolkit, and if I understand correctly, it's no longer ITAR controlled, so anyone should be allowed to download it.  
I've also never used it myself, so I have no idea what sort of user-interfaces there are to it; we just use it for computing the location of spacecraft via an API.
(and this reminds me -- in the movie 'Starship Troopers', if the computer's able to confirm that the new route is the 'optimal path', why did they rely on humans putting in the path in the first place?)
A: The first use of a planet's gravitational field to accelerate a spacecraft on to another planet was by Mariner 10, launched in 1973, which used the gravitational field of Venus to be accelerated towards the planet Mercury in early 1974. Pioneer 10 and Pioneer 11, launched in 1972 and 1973, used the gravitational field of Jupiter later in 1974 to reach interstellar space, with Pioneer 11 also passing past Saturn. Voyagers 1 and 2 were launched in 1977, again using Jupiter's gravity to reach interstellar space with both also passing Saturn and Voyager 2 also passing Uranus in 1986 and Neptune in 1989.
I have gone into this history to show how the basic technique was used early in the space age with computers far less capable than we have today. Since most of the trajectory of all of these spacecraft is mostly defined by successive two-body problems (Sun and spacecraft, planet and spacecraft), the total computer requirements are not excessive.
More recently, as you have noted, more exotic trajectories have been made with repeated flybys of the Earth, Venus, and Mercury. Although more elaborate, with more parameters available, the basic computer chores are not that difficult. Although adding encounters can save energy, they also add mission time because of the slow cruises between planetary encounters. I will add that the complexities of the missions increase considerably when allowing for the addition of additional energy changes, called deep space maneuvers (DSM), by firing thrusters in a specified direction for a specified duration, into the itineraries. This is because the DSM's can be done over a range of possible times rather than at merely the times of planetary encounters. 
Running this software should easily be within the capability of a desktop computer and amateur mission planners could have a go at it if a suitable package is available.
There is a type of mission, however, that would be much more computer intensive, and those are missions, like Dawn that is visiting asteroids Vesta and Ceres, where the thrust is low but continuous, using solar cells to provide energy to keep ions flowing out of the rocket exhaust at high velocity. These would be like a continuous series of DSM's!
