This is an interesting question, and I am surprised it does not come up more often.
There is a section in the Quick Reference Guide, just after the definition of parameter meanings, titled "Parameter Applicability Tables". The tables defined in this section give you a map of parameter / solution sequence (SOL 101, 103, ...) correspondence and whether each parameter may be defined in only the Bulk Data section, only the case control section, or either.
In the case where a parameter may be defined in either section, if the parameter is defined in both, the definition in the case control takes precedence. This is because sometimes you want a parameter only to be applicable to one SUBCASE and not another, so Nastran updates the internal parameter tables at regular intervals during the solution sequence.
You asked which is better, define the parameters in the case control or bulk data. In most cases I would say there is no better method, it mostly depends on what you are trying to do. There are some cases that can make your life easier by defining a parameter in the case control. For example, when PART type superelements are present (BEGIN SUPER= in the bulk data), if you want the results (displacements, stresses, etc.) to be written to the output2 post processing file for say, Patran, you must put a PARAM,POST,1 in each BEGIN SUPER= block. If you have 2,500 superelements, this can be a chore especially if you are adding the parameter definition by hand. Instead, if you define PARAM,POST,1 before the first SUBCASE in the case control, it will apply to all superelements including the residual. If you are using GRID list superelements (SESET in the bulk data), the only way to control parameters for different superelements is to use a partitioned SUBCASE structure where one or more superelements are controlled by a SUBCASE and other by other SUBCASEs (see the SUPER= case control command).
As most users, most of the time, do not use superelements (I don't know why, it's not difficult), most users put their parameter definitions in the bulk data. I suspect large numbers of users reading your post have discovered you can put (some of) the parameter definitions in the case control.
DG