This question is long but I am asking for educated opinions on a question of math education and for this reason I'd like it not to be closed on the grounds that it invites subjective discussion. Educational practice is not a subject on which there is a single right answer, but there is such a thing as a well-reasoned answer.
I've taught a lot of ODEs, either as a dedicated course or as a unit within a linear algebra course. I never actually took one myself, though I did read Coddington's book Ordinary Differential Equations, and I would call myself an algebraist, though not the kind that hates analysis (I enjoy teaching it at this level, actually).
My feeling is that the traditional ODEs course is not very good, but it is nearly universally agreed upon by textbooks. It looks like this:
First-order equations of all kinds, both linear and nonlinear, with techniques such as separation of variables, integrating factors, substitutions, and exact equations (so, more integrating factors).
Second-order equations, linear and constant-coefficient only, with an ad-hoc derivation of the characteristic equation and informal justification of undetermined coefficients and variation of parameters; the Wronskian appears here as a trick. Big presentation of the "three cases" for the characteristic equation. Then maybe variable-coefficient reduction of order.
Mention of higher-order equations, with all of the above recapitulated halfheartedly.
Some kind of discussion of linear systems, complicated by the fact that linear algebra is often not a prerequisite for the course so must be taught on the spot (or simply avoided, in which case this topic is incomplete). The three cases are discussed again. The matrix exponential may be introduced, and this entails another discussion of the three cases.
There is often a single day on the existence and uniqueness theorems at some point, perhaps here, but since the proof is serious analysis, it's hard to make this sound like anything but a footnote.
There is also often a small unit on numerical methods, which doesn't get to anything serious.
Infinite series, possibly even including Frobenius series, are given a lot of attention.
Laplace transforms get just as much attention, often, though typically only applied to inhomogeneous constant-coefficient equations.
Nonlinear systems are somewhere in there, with a discussion of the phase plane and equilibrium points.
That's a lot of topics and some of them are a lot of work, and I have often gotten the impression that students find the subject entirely disunified. Once, I think they didn't even understand that the "three cases" for linear equations were actually the same but in different contexts, rather than somehow being a different technique for second-, third-, ...order equations, and systems. The same problem exists in a larger sense: almost all of the techniques overlap and students can confused about whether they even solve the equations in the same way.
So, my question is: what is the best way to actually structure this course so it teaches an idea, rather than "how to solve some differential equations"? For the record, my own preference is:
Start with a few days of first-order linear equations presented in a way as to presage the general method used for systems, and avoid special-purpose tricks.
Then, teach (or review) linear algebra and constant-coefficient systems at the same time, with emphasis on using a (generalized) eigenbasis to find the fundamental solutions.
Introduce the matrix exponential as a unified method to solve an initial value problem directly, and from here, on to inhomogeneous systems, variation of parameters, and generalized undetermined coefficients. The Wronskian shows up here completely naturally.
Now, talk about higher-order equations and the reduction to systems of first-order equations, and quickly derive everything about them from the preceding.
Talk about how there aren't such highly effective techniques for most differential equations and use that to motivate the existence and uniqueness theorems. They should be explained somewhat, since the proof technique (Picard iteration) motivates both series and also the step methods for numerical solutions.
Now you're free to talk about special-purpose tricks. I like to go back and do exact first-order equations and integrating factors, because that's the context in which the latter really make sense. I don't bother with reduction of order, or substitution, because they seem to have no serious purpose.
Since I'm on nonlinear equations, I move onto nonlinear systems and don't skimp on the trajectory sketching: it's as much a solution method as writing down an infinite series. The connection with linear systems is obviously to be emphasized strongly.
Logically, the next thing must be numerical solutions, since it is a fail-safe for getting some kind of a solution. It would be nice if there were a way to pull computer work into this.
I don't like Laplace transforms because they are only helpful for finding explicit solutions for linear equations, but those are already solved. The subject can't be taught in a way consistent with its real significance.
I don't like power series because they are a ton of work for dubious benefit. This is a shame, because Frobenius series are very interesting. There's probably time to do this subject anyway, if you drop Laplace transforms.
This obviously reflects one person's biases about the subject. I feel that it unifies the whole thing around linear equations and makes the abstraction of the existence and uniqueness theorems seem worthwhile. It compartmentalizes the strange methods in a way that makes it clear when to use them. It does decrease the "methods" aspect of the course, and I did do this in an honors class, so maybe that's undesirable in general. But what does the traditional structure have going for it?