I don't think there is an easy way as you suggested yourself.
You can do what you suggest yourself doing something like this:
library(faahKO)
library(xcms)
cdfpath <- file.path(find.package("faahKO"), "cdf")
files <- list.files(cdfpath, recursive = TRUE, full.names = TRUE)
xraw <- xcmsRaw(files)
xset <- xcmsSet(files, verbose.columns=TRUE, method="centWave")
xset_g <- group(xset)
idx <- groupidx(xset_g)
out <- list()
for( i in seq_along(idx)){
peak_select <- peaks(xset_g)[idx[[i]], ]
# the max peak for all samples. Otherwise find max "sample"-wise
out[[i]] <- peak_select[which.max(peak_select[,"into"]), c("sample","egauss","mu","sigma","h")]
}